Opened 12 years ago

Closed 12 years ago

#349 closed defect (fixed)

Performance of wcps query involving multiple overlays

Reported by: Dirk Daems Owned by: abeccati
Priority: major Milestone: 8.4.2
Component: petascope Version: 8.4
Keywords: Cc:
Complexity: Easy

Description

Since I upgraded to Rasdaman version 8.4, WCPS queries involving multiple overlay functions (see example below) take much longer to return. Looking at the Petascope log file, it appears that the translation of WCPS to RASQL is taking much longer. I am aware of the fact that since version 8.4 the overlay operator is implemented the correct way (ticket 219) so I had to swap the order of the overlays. The translation of WCPS to RASQL on v8.3 took less than a second, while on v8.4 it now takes 90(!) seconds.

for c in (Biopar_Tile_LAI)
return encode(
  (char)(({
    red:   ((char)((c < 20) * 200));
    green: ((char)((c < 20) * 10));
    blue:  ((char)((c < 20) * 10))
  }
overlay
  (char){
    red:   ((char)((c >= 20 and c < 25) * 255));
    green: ((char)((c >= 20 and c < 25) * 165));
    blue:  ((char)((c >= 20 and c < 25) * 0))
  }
overlay
  (char){
    red:   ((char)((c >= 25 and c < 30) * 255));
    green: ((char)((c >= 25 and c < 30) * 215));
    blue:  ((char)((c >= 25 and c < 30) * 0))
  }
overlay
  (char){
    red:   ((char)((c >= 30 and c < 35) * 255));
    green: ((char)((c >= 30 and c < 35) * 255));
    blue:  ((char)((c >= 30 and c < 35) * 0))
  }
overlay
  (char){
    red:   ((char)((c >= 35 and c < 40) * 173));
    green: ((char)((c >= 35 and c < 40) * 255));
    blue:  ((char)((c >= 35 and c < 40) * 47))
  }
overlay
  (char){
    red:   ((char)((c >= 40 and c < 45) * 20));
    green: ((char)((c >= 40 and c < 45) * 255));
    blue:  ((char)((c >= 40 and c < 45) * 20))
  }
overlay
  (char){
    red:   ((char)((c >= 45 and c < 50) * 10));
    green: ((char)((c >= 45 and c < 50) * 200));
    blue:  ((char)((c >= 45 and c < 50) * 10))
  }
overlay
  (char){
    red:   ((char)((c >= 50 and c < 55) * 0));
    green: ((char)((c >= 50 and c < 55) * 136));
    blue:  ((char)((c >= 50 and c < 55) * 0))
  }
overlay
  (char){
    red:   ((char)((c >= 55 and c < 253) * 0));
    green: ((char)((c >= 55 and c < 253) * 0));
    blue:  ((char)((c >= 55 and c < 253) * 255))
  }
overlay
  (char){
    red:   ((char)((c = 253) * 0));
    green: ((char)((c = 253) * 0));
    blue:  ((char)((c = 253) * 250))
  }
overlay
  (char){
    red:   ((char)((c = 254) * 255));
    green: ((char)((c = 254) * 235));
    blue:  ((char)((c = 254) * 190))
  }
overlay
  (char){
    red:   ((char)(c = 255) * 80);
    green: ((char)(c = 255) * 80);
    blue:  ((char)(c = 255) * 80)
  }
 
)[x(-10:-7),y(37:40)])[t(458)]
,
"png")

A also attached the Rasdaman and Petascope log files that were generated when executing the query.

Attachments (3)

petascope.log (5.9 MB ) - added by Dirk Daems 12 years ago.
N1.063701.log (5.6 KB ) - added by Dirk Daems 12 years ago.
petascope_new.log (43.1 KB ) - added by Dirk Daems 12 years ago.
New Petascope logging output

Change History (13)

by Dirk Daems, 12 years ago

Attachment: petascope.log added

by Dirk Daems, 12 years ago

Attachment: N1.063701.log added

comment:1 by Dimitar Misev, 12 years ago

Can you completely disable petascope's output, just to confirm that the issue is too much logging. In general for production use the logging should be at INFO, but as I can see there's some ERROR logs which are wrongly marked as ERROR.

comment:2 by Dimitar Misev, 12 years ago

Complexity: MediumEasy
Milestone: 8.4.1

comment:3 by Dirk Daems, 12 years ago

I switched the log level to OFF but the query still takes 5 times longer when it is executed on v8.4 (log level OFF) compared to v8.3 (log level TRACE). So reducing the logging output helps, but there seems to be another cause as well.

comment:4 by Dimitar Misev, 12 years ago

Patch submitted.

comment:5 by Dimitar Misev, 12 years ago

Can you please try with the latest rasdaman, the patch was applied.

comment:6 by Dirk Daems, 12 years ago

Tried with the latest version but the problem remains.

comment:7 by Dimitar Misev, 12 years ago

Can you attach the new petascope log (DEBUG)? Thanks.

by Dirk Daems, 12 years ago

Attachment: petascope_new.log added

New Petascope logging output

comment:8 by Dimitar Misev, 12 years ago

New patch submitted

comment:9 by Dimitar Misev, 12 years ago

Fixed by changeset:8a34b84, please reopen if the bug still persists.

Version 0, edited 12 years ago by Dimitar Misev (next)

comment:10 by Dimitar Misev, 12 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.