IDL 8.4 LOADCT performance [message #89530] |
Thu, 23 October 2014 14:22 |
Lajos Foldy
Messages: 176 Registered: December 2011
|
Senior Member |
|
|
Hi guys,
I am creating hundreds of plots form ASCII files and today I discovered that my program runs six times slower in IDL 8.4 than in 8.3.
The culprit seems to be LOADCT. Here is a small test program:
; test.pro
pro test
profiler
profiler, /system
tic
set_plot, 'Z'
device, set_pixel_depth=24, set_resolution=[800, 800]
device, decomposed=0
loadct, 0, /silent
plot, indgen(10)
plot=tvrd(true=1)
set_plot, !version.os_family eq 'unix' ? 'X' : 'WIN'
toc
profiler, /report
end
IDL 8.3: % Time elapsed: 0.0080618858 seconds.
IDL 8.4: % Time elapsed: 0.10958481 seconds.
(I am running IDL remotely.)
The profiler output shows that the overhead comes from (LOADCT) calling WIDGET_INFO:
Module Type Count Only(s) Avg.(s) Time(s) Avg.(s)
...
WIDGET_INFO (S) 1 0.100391 0.100391 0.100391 0.100391
I think this is a bug in LOADCT, WIDGET_INFO should be called only for the X device. (The modification history in loadct.pro does not mention that it was changed :-)
regards,
Lajos
|
|
|