Estimate header size in DataStatsU8_estimateHuffmanSizeFast (#681)#681
Open
terrelln wants to merge 8 commits into
Open
Estimate header size in DataStatsU8_estimateHuffmanSizeFast (#681)#681terrelln wants to merge 8 commits into
terrelln wants to merge 8 commits into
Conversation
8d351c2 to
ae314e9
Compare
ae314e9 to
3965b02
Compare
|
@terrelln has exported this pull request. If you are a Meta employee, you can view the originating Diff in D102351635. |
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Apr 27, 2026
…#681) Summary: Pull Request resolved: facebook#681 * Add a header size estimate to `DataStatsU8_estimateHuffmanSizeFast()` * No longer report `entropy > 7` as incompressible, this is not true. This is still not a good estimate for Huffman compressed size, and is more-or-less useless to compare against `FSE`, because it is just reporting the entropy cost. Stacked diffs will improve it. Differential Revision: D102351635
3965b02 to
3d1ba79
Compare
Differential Revision: D104843371
Summary: The LZ encoder capped `matchLength()` at `UINT16_MAX` because sequence match lengths are stored as `uint16_t`. If the match had been walked backward at least `UINT16_MAX` bytes, then the match finding process would resume at a position which had already been inserted into the hash table. This would result in match with `distance <= 0` and corruption would ensue. Differential Revision: D104838040
Differential Revision: D105332025
Summary: LZ must be a dynamic graph because it invokes a multi-input node (ZL_NODE_MUX_LENGTHS). But we need to allow overriding the successors in a serialized graph for training and configurability. So do the same thing that FieldLZ does, which sets the index of the `customGraph` as a local int param. When the local int param is set, set the corresponding successor to that graph. Differential Revision: D105367885
Summary: As title Differential Revision: D105368972
Differential Revision: D102620101
…#681) Summary: Pull Request resolved: facebook#681 * Add a header size estimate to `DataStatsU8_estimateHuffmanSizeFast()` * No longer report `entropy > 7` as incompressible, this is not true. This is still not a good estimate for Huffman compressed size, and is more-or-less useless to compare against `FSE`, because it is just reporting the entropy cost. Stacked diffs will improve it. Reviewed By: Cyan4973 Differential Revision: D102351635
3d1ba79 to
0bef02a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
DataStatsU8_estimateHuffmanSizeFast()entropy > 7as incompressible, this is not true.This is still not a good estimate for Huffman compressed size, and is more-or-less useless to compare against
FSE, because it is just reporting the entropy cost. Stacked diffs will improve it.Reviewed By: Cyan4973
Differential Revision: D102351635