Skip to content

Remove LZ78 algorithm and Lz78R pipeline#116

Merged
ChrisLundquist merged 1 commit into
masterfrom
claude/eager-elgamal
Mar 10, 2026
Merged

Remove LZ78 algorithm and Lz78R pipeline#116
ChrisLundquist merged 1 commit into
masterfrom
claude/eager-elgamal

Conversation

@ChrisLundquist
Copy link
Copy Markdown
Owner

Summary

  • Remove src/lz78.rs (315 lines) and the Lz78R pipeline (ID 7) across 18 files
  • Benchmarking confirmed LZ78+rANS is uncompetitive: 34% slower throughput, 8-13x worse compression ratio, and 1.7x slower decompression vs Lzr
  • The gap is algorithmic (trie-based dictionary vs sliding window), not fixable by tuning
  • Pipeline ID 7 tombstoned (matching Parlz ID 11 precedent) to prevent reuse
  • Add throughput_lzseqr benchmark and pipeline_comparison example created during investigation

Test plan

  • ./scripts/test.sh --quick passes (fmt, clippy, tests)
  • All benchmarks and examples compile with --no-default-features
  • No remaining lz78/Lz78R references in source (only tombstone comments)
  • Pipeline ID 7 returns Err(Unsupported) on deserialization

🤖 Generated with Claude Code

Benchmarking confirmed LZ78+rANS is uncompetitive: 34% slower throughput,
8-13x worse compression ratio, and 1.7x slower decompression vs Lzr.
The gap is algorithmic (trie-based dictionary vs sliding window) and
not fixable by tuning. LZ78's theoretical advantage (online/adaptive
streaming) isn't leveraged since the streaming path uses independent
blocks.

Removes src/lz78.rs (315 lines), the Lz78R pipeline variant (ID 7,
tombstoned like Parlz at ID 11), and all references across 18 files.
Adds throughput_lzseqr benchmark and pipeline_comparison example that
were created during the benchmarking investigation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ChrisLundquist ChrisLundquist merged commit cb3c1e0 into master Mar 10, 2026
4 checks passed
@ChrisLundquist ChrisLundquist deleted the claude/eager-elgamal branch March 10, 2026 09:31
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