Skip to content

Add LZRC - #149

Merged
yunzheng merged 1 commit into
mainfrom
lzrc
Nov 3, 2026
Merged

yunzheng merged 1 commit into
mainfrom
lzrc

Conversation

@Schamper

Copy link
Copy Markdown
Contributor

Adds the LZRC decompression and compression algorithms.

@codecov

codecov Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 218 lines in your changes missing coverage. Please review.
✅ Project coverage is 0.00%. Comparing base (bc05ff3) to head (fc8eb2f).

Files with missing lines Patch % Lines
dissect/util/compression/lzrc.py 0.00% 218 Missing ⚠️
Additional details and impacted files
@@          Coverage Diff           @@
##            main    #149    +/-   ##
======================================
  Coverage   0.00%   0.00%            
======================================
  Files         34      35     +1     
  Lines       2249    2467   +218     
======================================
- Misses      2249    2467   +218     
Flag Coverage Δ
unittests 0.00% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@codspeed

codspeed Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Merging this PR will improve performance by 24.91%

2 warnings

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

⚠️ 45 benchmarks with a significant change ran on different hardware

Their base and head results were measured on machines with a different CPU, core count or memory, so the changes might not come from the code. Run base and head on the same runner type.

Learn more about Macro Runners

See affected benchmarks

⚡ 45 improved benchmarks
🆕 4 new benchmarks
⏩ 39 skipped benchmarks1

Performance Changes

Benchmark BASE HEAD Efficiency
⚡ test_benchmark_lzxpress_huffman_decompress[exact-64k] 371.9 µs 264.4 µs +40.67%
⚡ test_benchmark_lzxpress_huffman_decompress[long-match] 619.5 µs 444.5 µs +39.37%
⚡ test_benchmark_lznt1_decompress[basic] 13.3 µs 9.6 µs +38.8%
⚡ test_benchmark_lzbitmap_decompress[uncompressed] 1.8 µs 1.3 µs +33.45%
⚡ test_benchmark_lzxpress_huffman_decompress[basic] 285.1 µs 213.8 µs +33.36%
⚡ test_benchmark_sevenbit_decompress_wide 6.4 µs 4.9 µs +31.1%
⚡ test_benchmark_lzxpress_huffman_decompress[multi-block] 2 ms 1.6 ms +31.04%
⚡ test_crc_benchmark[python] 2.1 µs 1.6 µs +30.43%
⚡ test_benchmark_sevenbit_decompress 5.5 µs 4.2 µs +30.42%
⚡ test_benchmark_sevenbit_compress 6 µs 4.7 µs +28.44%
⚡ test_aligned_stream_read_none_size_benchmark 2 µs 1.6 µs +27.39%
⚡ test_write_sid_benchmark[S-1-5-21-123456789-268435456-500-False] 2.3 µs 1.8 µs +26.87%
⚡ test_benchmark_lzfse_decompress[large] 1.3 ms 1 ms +26.38%
⚡ test_benchmark_lzo_decompress[python-header] 1.3 µs 1 µs +26.16%
⚡ test_write_sid_benchmark[S-1-5-21-123456789-268435456-500-True] 2.5 µs 2 µs +26.14%
⚡ test_read_sid_benchmark[01040000000000051500000015cd5b0700000010000001f4-] 2.4 µs 1.9 µs +26.12%
⚡ test_benchmark_adc_decompress[basic] 6.8 µs 5.4 µs +25.92%
⚡ test_benchmark_lzxpress_decompress[basic] 2.6 µs 2.1 µs +25.84%
⚡ test_aligned_stream_read_fixed_size_benchmark 2.2 µs 1.7 µs +25.76%
⚡ test_benchmark_lzo_decompress[python-large] 98 µs 77.9 µs +25.73%
... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.


Comparing lzrc (fc8eb2f) with main (bc05ff3)

Open in CodSpeed

Footnotes

  1. 39 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@yunzheng
yunzheng merged commit 1be2198 into main Nov 3, 2026
33 of 34 checks passed
@yunzheng
yunzheng deleted the lzrc branch November 3, 2026 17:15
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.

2 participants