Uploaded image for project: 'ORC'
  1. ORC
  2. ORC-639

Improve zstd compression performance

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.6.3, 1.7.0
    • 1.6.4, 1.7.0
    • C++, compression

    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.

      Attachments

        Activity

          People

            igaztanaga Ion Gaztañaga
            igaztanaga Ion Gaztañaga
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: