[Gdal-dev] [RFC] RasterIO speedup patch

Andrey Kiselev dron at ak4719.spb.edu
Tue Feb 18 10:23:03 EST 2003


Tim, Frank,

I've deleted this patch because of problems it produces. I shall return
back to this issue shortly and ftry to fix the crash. This improvement
was not forgotten.

On Tue, Feb 18, 2003 at 09:46:33AM -0500, Frank Warmerdam wrote:
> As noted in Bugzilla Andrey has applied your patch.
> 
> >I still need to clean up the other changes a bit before I submit them. One 
> >question for you.  When GDALCopyWords does data type conversions, it uses 
> >memcpy for copying out a single data element at a time.  The only reason I 
> >can think of why this would be done is that you're worried about being 
> >given data buffers that aren't properly aligned in memory for platforms 
> >that have such limitations.  Is this correct?  The next set of changes 
> >assumes memory alignment is correct.  I can either try using memcpy and 
> >see if it impacts speed in my changes, or I can make it one more special 
> >case that the changes I've done are only used when memory alignment 
> >constraints are met.  Actually, I can't think of a case where memory 
> >wouldn't be correctly aligned when going through RasterIO.  But I suppose 
> >someone could end up with incorrectly aligned buffers when calling 
> >GDALCopyWords directly (but for efficiency maybe it should just error out 
> >in that case and the driver should be fixed).
> 
> GDALCopyWords() is sometimes used to copy data out of buffers read from disk
> that are not word aligned, so this is an issue.  I think that if you want to
> copy by word in some cases then GDALCopyWords() should verify that the
> pointer is word aligned.
> 
> Don't hesitate to poke me when I don't respond in a day or two to a 
> question.

-- 
Andrey V. Kiselev
Home phone:  +7 812 5274898  ICQ# 26871517



More information about the Gdal-dev mailing list