Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.6.3, 1.7.0
Description
In Compression.cc, classes ZSTDCompressionStream and ZSTDDecompressionStream employ Zstd's "Simple API", which initializes the compression/decompression context each time. This context initialization includes time to initialize all compression/decompression tables.
Using the "Explicit context" API improves the performance significantly as compression/decompression tables are constructed once and reused each time "decompress" or "doBlockCompression" is called.
We've noticed more than 15% time improvement in some applications with this change, so it seems that any ORC user using Zstd can benefit from this change.