[Gdal-dev] ECW compression - Extremely slow Linux performance
Frank Warmerdam
warmerdam at pobox.com
Mon Aug 21 11:34:35 EDT 2006
Andrew Larcombe wrote:
> strace'ing gdal_translate gives this:
>
> % time seconds usecs/call calls errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 35.14 0.357212 14 26030 write
> 24.54 0.249446 9 26948 sched_yield
> 18.41 0.187088 7 25948 gettimeofday
> 9.42 0.095770 17 5505 nanosleep
> 7.40 0.075248 6 12238 _llseek
> 1.68 0.017050 11 1576 1 read
> 1.64 0.016643 65 257 munmap
> 0.46 0.004717 15 317 mprotect
> 0.32 0.003283 657 5 unlink
> 0.29 0.002901 24 119 brk
...
>
> Do you have any more thoughts on this, or where the problem could lie?
> It does seem to be making an awfully large number of gettimeofday calls,
> although maybe this is a red herring?
Andrew,
There are some interesting points for investigation here, but nothing that
seems conclusive to me. Actually, if I were to check something it would
be all the nanosleep() calls. This suggests there is a hack somewhere in
the code to "sleep for a little while" to try and avoid some sort of lock
or race condition, but a little sleeping a lot of times can easily result
in the poor cpu utilization we are seeing.
I appologise for not digging into this at my end, but I don't really have
time to do an indepth investigation. And since it has been some time since
3.3RC2, I hate to do a lot of investigation on an old source tree for the
SDK.
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | President OSGF, http://osgeo.org
More information about the Gdal-dev
mailing list