[gdal-dev] Unix VSIL Optimization

Frank Warmerdam warmerdam at pobox.com
Thu Jul 16 16:16:36 EDT 2009


Folks,

Some folks have experienced poor performance with some GDAL drivers,
particularly on network disks, due to the high cost of fseek() and
ftell() operations.  I have reworked the VSIL implementation used for
IO on non-win32 operating systems to try and keep track of the current
file offset, and whether file access is already at the end of file
in order to short circuit some fseek() and ftell() operations.

The one serious concern I have about this is that we will never know if
another process and opened and extended a file while we are accessing it.
For most drivers this would cost lots of other problems anyways, but there
could be places VSIL IO is used that it would be quite acceptable.

The change is:
   http://trac.osgeo.org/gdal/changeset/17402

I'd appreciate people letting me know if they believe this change is causing
them problems.

We could potentially do something similar for the win32 implementation but
for now the painpoint happened to be on linux.

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    | Geospatial Programmer for Rent



More information about the gdal-dev mailing list