2021.05.02 15:35 "Re: [Tiff] SIMD optimizations", by Larry Bank
@Even - Thank you for testing the code and providing the sample image; I just pushed a fix for the 24-bpp SSE predictor code.
The 20% improvement figure is based on the large 16-bit grayscale test image you sent me. I saw similar improvement for other large images. The smaller the image, the smaller the benefit because of the image fitting in the L0 cache and the overhead of the other parts of decoding the line starts to drown out the de-predicting stage.
There is a larger potential benefit for LZW decoding with my replacement decoder. If the image is well compressed (>= 2:1 ratio), the speed can be 2-20x faster decoding than the current LZW code. I haven't pushed it to Gitlab yet.
I guess the remaining questions are:
- How many people care about a 5-20% decode speed improvement for the predictor on flate/lzw images?
- How many people use well compressed LZW images and would care about a 2-20x speedup?
- Are people using alternative libraries and libtiff is basically deprecated?
- Would someone step up and help me with the cmake/build issues by making the necessary changes?
- Would my time be better spent improving the code in libpng instead of libtiff since it is more widely used?