Repository navigation
Expand inflate matches with bulk copies - #39
Merged
Merged
Conversation
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.
Replace per-byte inflate match expansion with bulk copies: fill distance-one matches, copy non-overlapping matches once, and expand overlaps in chunks. Dictionary handling and output limits remain checked before copying.
Repeated Linux measurements compare merged #40 at ba01d65 with this change applied on top. Each target covered seven fixtures and streams from both KFlate and Kompress, with three baseline and three candidate runs. Each run used three one-second warmups and five one-second measurements.
All slower cases had overlapping process ranges. These measurements support a JVM benefit, but do not establish regression-free performance on Native or Wasm. All 252 case observations passed decoding and input-identity checks. Linux JVM tests and coverage verification passed with #40 included.
The repeated-run report and raw samples are retained in the review workspace at performance/2026-09-09-copy-linux-targets/. The earlier single-run JVM results committed under performance/2026-09-09-copy/ are historical and should not be read as cross-platform claims.