2004.09.17 14:40 "Re: [Tiff] BigTIFF Tag Value Count issue", by Frank Warmerdam
If I'm not mistaking, on most processors there is a gain from aligning of data, whilst things still work if data is not aligned. Thus, it pays to build
With some processors (particularly RISC type processors), attempting to read unaligned data results in a program crash. Probably Intel x86 is not one of those processors.
Which is why, in general, the reading code ignores native file alignment, and just memcpy()'s stuff into the proper variables before accessing it. I don't think alignment is going to help libtiff itself very much because libtiff can't depend on it and remain portable. We could try and have multiple code paths for some stuff, with higher speed "aligned" cases when possible but that complicates the code alot and I am not sure there would be much speed benefit.
I would add that speed in processing the tag directory itself is really not that big an issue compared to loading referenced tag data, and of course the actual image data.
That said, other libraries or TIFF writers might be able to benefit somewhat from proper alignment.
I would also caution that bulking up the directory entry size alot will add non-trivially to the bulk of very small TIFF images which can already be dominated by the directory stuff. Of course, very small images is not generally handled via TIFF. I would be more concerned about this for formats like PNG that might be widely used for stuff like icons.
On some of the issues like 32-bit datatypes where concepts about complex data types being introduced. I feel like we are stepping towards stuff that could hugely complicate our effort. In my mind, BigTIFF is about a near-minimal extension to TIFF to support very large images. I have seen lots of image format specification efforts go off the rails in an effort to be over general and I hope our minor revision to support big files won't fall into that sort of second-system effect.
I set the clouds in motion - turn up | Frank Warmerdam, email@example.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent