Laurentiu,


GDAL 3.6 added support for multi-threaded reading using PRead, but I couldn't spot ReadBlock using the same code path.

If you read one single block at a time, the multi-threaded optimization cannot kick in, since the elementary decoding unit is a block. You must call RasterIO() with a window intersecting several block.


(*) I think these can also be implemented at VSI level by wrapping a file handle and turning Seek + Read into a PRead (when supported), even for drivers that don't explicitly support PRead.

The multi-threaded optimization also works for VSI file systems not supported PRead(), but doing what you mention above: doing Seek+Read under a lock. This is of course less efficient.

Even


--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to