Summary
Pack generation currently uses zlib compression level 6 (default). Levels 1-3 could be 3-5x faster with ~80-90% of the compression ratio. For a Git server optimized for speed, this trade-off likely makes sense.
Solution
Benchmark levels 1, 3, 6, and 9 on the existing small/medium/large fixtures, comparing throughput and pack size. Pick the level with the best speed/size trade-off, or make it configurable via CLI flag.
Sessions
- Benchmark -- add a dedicated compression-level sweep benchmark
- Decide and apply -- pick the default level based on results, optionally expose as
--compression-level
Summary
Pack generation currently uses zlib compression level 6 (default). Levels 1-3 could be 3-5x faster with ~80-90% of the compression ratio. For a Git server optimized for speed, this trade-off likely makes sense.
Solution
Benchmark levels 1, 3, 6, and 9 on the existing small/medium/large fixtures, comparing throughput and pack size. Pick the level with the best speed/size trade-off, or make it configurable via CLI flag.
Sessions
--compression-level