Skip to content

Conversation

@fylux
Copy link
Contributor

@fylux fylux commented Aug 20, 2019

This PR is a WIP for implementing dictionary reusing within a branch in ZSTD. The work is based on previous work of Brian for the Compression Engine although it does not make use of any of the functions associated with training. This work depends on: #3947

Two extra file are added (ZSTDEngine2.hxx/cxx) that provide the infrastructure to perform a detailed analysis of the compression and decompression at basket level.

An analysis related with the current performance of this implementation can be found here.

bbockelm and others added 23 commits April 8, 2019 17:24
This provides ROOT with a hook to train the compressor after the
first FlushBaskets has been started, ideally providing higher
compression ratios.

The contents of the training is kept in the TBranch itself in a new
nullable TBuffer member.
The R__unzip code was written in C and inside the compilation unit
implementing the old decompression algorithm.

This change puts R__unzip into the same compilation unit as the
compression code that handles multiple algorithms.
Previously, the ZSTD output did not include the ROOT headers.  This
writes the headers out and allows the decompression engine to work
accordingly.
…de, builtin zstd improvements are separated in other branch
@phsft-bot
Copy link

Can one of the admins verify this patch?

@oshadura oshadura self-requested a review August 21, 2019 08:55
@oshadura
Copy link
Collaborator

@fylux Can you add last commit about compression engine please on top of the #3947 branch? Thanks!

@amadio amadio removed their request for review November 6, 2020 12:32
@guitargeek
Copy link
Contributor

@guitargeek guitargeek closed this May 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants