Implement benchmarking suite #311

Closed
opened 2026-04-19 07:20:17 +00:00 by fuzzy · 1 comment
Owner
## Sub-tasks - [ ] [Create benchmark for various input sizes (1KB to 100MB)](https://git.lan.thwap.org/thwap/gobz2/issues/306) - [ ] [Compare against single-threaded bzip2](https://git.lan.thwap.org/thwap/gobz2/issues/307) - [ ] [Benchmark against compress/bzip2 (pure Go)](https://git.lan.thwap.org/thwap/gobz2/issues/308) - [ ] [Measure memory allocation patterns](https://git.lan.thwap.org/thwap/gobz2/issues/309) - [ ] [Profile CGo call overhead](https://git.lan.thwap.org/thwap/gobz2/issues/310)
fuzzy self-assigned this 2026-04-19 07:20:17 +00:00
fuzzy closed this issue 2026-04-19 15:44:24 +00:00
Author
Owner

Implemented in commit 0712bd8:

  • Benchmarks for input sizes 1 KB–100 MBCompressBytes, DecompressBytes, parallel variants
  • Comparison against single‑threaded bzip2 – system bzip2/bunzip2 commands
  • Comparison against pure Go compress/bzip2 – decompression performance
  • Memory allocation patterns – all benchmarks report allocations via b.ReportAllocs()
  • CGo call overhead profiling – measured via batching benchmarks (BenchmarkBatchingSmallReads, BenchmarkBatchEnabledVsDisabled)

All sub‑tasks completed; closing.

Implemented in commit 0712bd8: - **Benchmarks for input sizes 1 KB–100 MB** – `CompressBytes`, `DecompressBytes`, parallel variants - **Comparison against single‑threaded bzip2** – system `bzip2`/`bunzip2` commands - **Comparison against pure Go `compress/bzip2`** – decompression performance - **Memory allocation patterns** – all benchmarks report allocations via `b.ReportAllocs()` - **CGo call overhead profiling** – measured via batching benchmarks (`BenchmarkBatchingSmallReads`, `BenchmarkBatchEnabledVsDisabled`) All sub‑tasks completed; closing.
Sign in to join this conversation.
No description provided.