gdal icon indicating copy to clipboard operation
gdal copied to clipboard

Better L1d cache friendliness for TIFF block interleaving/de-interleaving

Open rouault opened this issue 4 years ago • 1 comments

When one decompresses a pixel-interleave TIFF, one de-interleave the GeoTIFF block into N GDAL blocks by proceeding by entire block (the GDALCopyWords64() call in GTiffRasterBand::IReadBlock). This means that the original GeoTIFF block has to be bring into L1d cache N times. We could probably perform much better by doing thie de-interleaving into the N target GDAL blocks at one time.

Similarly at write time when combining the N GDAL blocks into a pixel-interleave TIFF block

rouault avatar Jun 14 '21 19:06 rouault

GTiffRasterBand::IReadBlock() now uses GDALDeinterleave() when possible

rouault avatar Jul 10 '25 20:07 rouault