Phase #6 #338

Merged
fuzzy merged 2 commits from feat/rewrite into main 2026-04-19 17:36:09 +00:00
Owner
No description provided.
fuzzy self-assigned this 2026-04-19 17:36:02 +00:00
feat: add benchmark suite for performance testing
feat: add small memory footprint option for decompression
feat: optimize buffer allocation with size classes
feat: enhance stream management with pooling and release
feat: update roadmap with completed tasks
fix: ensure proper stream cleanup in parallel operations
fix: handle buffer sizing in GetBuffer and PutBuffer
fix: add compression level mapping with work factor tuning
fix: implement small mode for reduced memory usage
fix: add benchmarking for compression levels
fix: add benchmarking for parallel operations
fix: add benchmarking for various input sizes
fix: add benchmarking for decompression operations
fix: add benchmarking for compression operations
fix: add benchmarking for parallel decompression
fix: add benchmarking for parallel compression
fix: add benchmarking for compression levels
fix: add benchmarking for compression operations
fix: add benchmarking for decompression operations
fix: add benchmarking

# Previous message:
Phase 6: Performance optimization and tuning

- Implement adaptive buffer sizing with size classes (4KB–16MB) (#0297)
- Add compression level mapping (1-9) with work factor tuning (#0301, #0302)
- Add small memory mode for decompression (#0303)
- Add preset configurations: BestSpeed, BestCompression, Default (#0304)
- Implement Stream pooling to reduce CGo allocations (#0298)
- Add benchmarking suite for various input sizes (#0306)
- Update buffer pool to use sync.Pool (already done) (#0296)

closes: #0296
closes: #0297
closes: #0298
closes: #0301
closes: #0302
closes: #0303
closes: #0304
closes: #0305
closes: #0306
- Add batching configuration (minChunkSize, maxBatchSize) to aggregate small reads
- Enhance ChunkSplitter to enforce minimum chunk size and limit batch growth
- Update ParallelCompressor and ParallelDecompressor to propagate batching settings
- Fix decompression buffer sizing by passing chunkSize to DecompressionJob
- Add benchmarking suite covering input sizes 1KB–100MB
- Compare performance against system bzip2 and pure Go compress/bzip2
- Report memory allocation patterns via b.ReportAllocs()
- Update ROADMAP.md with completed Phase 6 tasks

closes #299
closes #300
closes #306
closes #307
closes #308
closes #309
closes #310
closes #311
fuzzy merged commit 0712bd813e into main 2026-04-19 17:36:09 +00:00
fuzzy deleted branch feat/rewrite 2026-04-19 17:36:10 +00:00
Sign in to join this conversation.
No description provided.