[Gdal-dev] [RFC] RasterIO speedup patch

Tim Beckmann tbeckman at usgs.gov
Mon Mar 10 09:07:33 EST 2003


Thanks for the update.  I'm not surprised my change wasn't 100% correct. 
The RasterIO function is extremely complicated and pretty much 
undocumented.   The change did work for the one driver I tested ;).  I 
will try out your change when I get a chance.

Tim Beckmann               tbeckman at usgs.gov
Software Project Lead
EROS Data Center, Sioux Falls, SD 57198
605-594-2521    Phone
605-594-6940    Fax

Andrey Kiselev <dron at ak4719.spb.edu>
Sent by: gdal-dev-admin at remotesensing.org
03/09/2003 04:28 AM
Please respond to gdal-dev

        To:     gdal-dev at remotesensing.org
        Subject:        Re: [Gdal-dev] [RFC] RasterIO speedup patch

Hi, Tim,

On Wed, Feb 05, 2003 at 04:31:02PM -0600, Tim Beckmann wrote:
> We've been working to incorporate GDAL into our software.  One drawback 
> we've found so far is that the performance of gdal when it needs to do 
> data type conversions is extremely slow.  Here is a patch that I've 
> generated that seems to work to improve the performance.  It works by 
> changing the GDALRasterBand::IRasterIO to attempt to convert more than a 

> single pixel for every call to GDALCopyWords.  For the testing I've 
> it seems to work well.  I'm not sure if I've covered all the possible 
> combinations though.  There are still cases where it falls back to 
> GDALCopyWords once for each pixel.

Please, look at latest improvements in GDALRasterBand::IRasterIO()
implementation. Unfortunately I have rejected your patch because it was
wrong and results in segfaults. But with my latest changes IRasterIO()
works significally faster than before (4 times faster in many cases).
Slowest part of IRasterIO() is the case when we need perform resampling
and it stays untouched, but in all cases when resampling don't needed
IRasterIO() works much better now.


Andrey V. Kiselev
Home phone:  +7 812 5274898  ICQ# 26871517
Gdal-dev mailing list
Gdal-dev at remotesensing.org

More information about the Gdal-dev mailing list