Skip to content

Expand inflate matches with bulk copies - #39

Merged
rafambn merged 1 commit into
dev-1.1.0from
agent/inflate-copy-speed
Sep 9, 2026
Merged

rafambn merged 1 commit into
dev-1.1.0from
agent/inflate-copy-speed

Conversation

@rafambn

@rafambn rafambn commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner

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.

Target Lower case averages Higher case averages Decoding time change
JVM, JBR 17.0.14 14/14 0/14 -20.59% to -2.48%
Linux x64 Native 9/14 5/14 -14.26% to +6.25%
Wasm, Node 22.22.1 6/14 8/14 -4.95% to +8.72%

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.

@rafambn
rafambn merged commit 060f957 into dev-1.1.0 Sep 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant