Skip to content

Instantly share code, notes, and snippets.

@nmoinvaz
Created February 21, 2026 00:19
Show Gist options
  • Select an option

  • Save nmoinvaz/40f2ce75559e9ac87e0c761a4a58254a to your computer and use it in GitHub Desktop.

Select an option

Save nmoinvaz/40f2ce75559e9ac87e0c761a4a58254a to your computer and use it in GitHub Desktop.
zlib-ng compress benchmark: improvements/tally-v2 vs develop

Compress Benchmark: HEAD (improvements/tally-v2) vs develop

Environment

  • Platform: macOS Darwin 24.6.0, Apple Silicon (ARM64)
  • CPU: 8 cores, L1D 64 KiB, L1I 128 KiB, L2 4096 KiB
  • Build: CMake Release, static libs

Commits

  • HEAD (improvements/tally-v2): c51ce99e — Combine extra_lbits/base_length and extra_dbits/base_dist lookup tables
  • develop: 1b880ba9 — Make extra length/distance bits computation branchless using bit masking

Comparison (median CPU time)

Size develop (ns) HEAD (ns) Delta
1 1865 1863 -0.1%
16 2154 2140 -0.6%
48 2541 2524 -0.7%
256 3155 3106 -1.6%
1024 4626 4560 -1.4%
4096 15046 15037 -0.1%
16384 52459 52140 -0.6%
65536 144929 143735 -0.8%

Raw Output — HEAD (c51ce99e)

compress_bench/compress_bench/1_mean                   1881 ns         1866 ns            5
compress_bench/compress_bench/1_median                 1869 ns         1863 ns            5
compress_bench/compress_bench/1_stddev                 23.2 ns         8.97 ns            5
compress_bench/compress_bench/1_cv                     1.23 %          0.48 %             5
compress_bench/compress_bench/16_mean                  2161 ns         2153 ns            5
compress_bench/compress_bench/16_median                2146 ns         2140 ns            5
compress_bench/compress_bench/16_stddev                29.5 ns         23.5 ns            5
compress_bench/compress_bench/16_cv                    1.37 %          1.09 %             5
compress_bench/compress_bench/48_mean                  2549 ns         2525 ns            5
compress_bench/compress_bench/48_median                2530 ns         2524 ns            5
compress_bench/compress_bench/48_stddev                50.6 ns         16.1 ns            5
compress_bench/compress_bench/48_cv                    1.98 %          0.64 %             5
compress_bench/compress_bench/256_mean                 3118 ns         3111 ns            5
compress_bench/compress_bench/256_median               3114 ns         3106 ns            5
compress_bench/compress_bench/256_stddev               24.2 ns         23.7 ns            5
compress_bench/compress_bench/256_cv                   0.78 %          0.76 %             5
compress_bench/compress_bench/1024_mean                4593 ns         4555 ns            5
compress_bench/compress_bench/1024_median              4571 ns         4560 ns            5
compress_bench/compress_bench/1024_stddev               115 ns         63.0 ns            5
compress_bench/compress_bench/1024_cv                  2.50 %          1.38 %             5
compress_bench/compress_bench/4096_mean               15459 ns        14889 ns            5
compress_bench/compress_bench/4096_median             15130 ns        15037 ns            5
compress_bench/compress_bench/4096_stddev              1862 ns          882 ns            5
compress_bench/compress_bench/4096_cv                 12.05 %          5.93 %             5
compress_bench/compress_bench/16384_mean              52580 ns        52143 ns            5
compress_bench/compress_bench/16384_median            52571 ns        52140 ns            5
compress_bench/compress_bench/16384_stddev              400 ns          759 ns            5
compress_bench/compress_bench/16384_cv                 0.76 %          1.46 %             5
compress_bench/compress_bench/65536_mean             144114 ns       143787 ns            5
compress_bench/compress_bench/65536_median           144100 ns       143735 ns            5
compress_bench/compress_bench/65536_stddev              611 ns          614 ns            5
compress_bench/compress_bench/65536_cv                 0.42 %          0.43 %             5

Raw Output — develop (1b880ba9)

compress_bench/compress_bench/1_mean                   1878 ns         1869 ns            5
compress_bench/compress_bench/1_median                 1869 ns         1865 ns            5
compress_bench/compress_bench/1_stddev                 18.8 ns         9.17 ns            5
compress_bench/compress_bench/1_cv                     1.00 %          0.49 %             5
compress_bench/compress_bench/16_mean                  2164 ns         2157 ns            5
compress_bench/compress_bench/16_median                2159 ns         2154 ns            5
compress_bench/compress_bench/16_stddev                19.3 ns         14.8 ns            5
compress_bench/compress_bench/16_cv                    0.89 %          0.68 %             5
compress_bench/compress_bench/48_mean                  2552 ns         2535 ns            5
compress_bench/compress_bench/48_median                2549 ns         2541 ns            5
compress_bench/compress_bench/48_stddev                24.9 ns         13.2 ns            5
compress_bench/compress_bench/48_cv                    0.98 %          0.52 %             5
compress_bench/compress_bench/256_mean                 3179 ns         3140 ns            5
compress_bench/compress_bench/256_median               3161 ns         3155 ns            5
compress_bench/compress_bench/256_stddev               64.2 ns         20.2 ns            5
compress_bench/compress_bench/256_cv                   2.02 %          0.64 %             5
compress_bench/compress_bench/1024_mean                4615 ns         4602 ns            5
compress_bench/compress_bench/1024_median              4635 ns         4626 ns            5
compress_bench/compress_bench/1024_stddev              48.9 ns         47.7 ns            5
compress_bench/compress_bench/1024_cv                  1.06 %          1.04 %             5
compress_bench/compress_bench/4096_mean               14987 ns        14838 ns            5
compress_bench/compress_bench/4096_median             15087 ns        15046 ns            5
compress_bench/compress_bench/4096_stddev               874 ns          693 ns            5
compress_bench/compress_bench/4096_cv                  5.83 %          4.67 %             5
compress_bench/compress_bench/16384_mean              54473 ns        53042 ns            5
compress_bench/compress_bench/16384_median            52561 ns        52459 ns            5
compress_bench/compress_bench/16384_stddev             4948 ns         2115 ns            5
compress_bench/compress_bench/16384_cv                 9.08 %          3.99 %             5
compress_bench/compress_bench/65536_mean             145639 ns       144665 ns            5
compress_bench/compress_bench/65536_median           145805 ns       144929 ns            5
compress_bench/compress_bench/65536_stddev             1711 ns         1028 ns            5
compress_bench/compress_bench/65536_cv                 1.17 %          0.71 %             5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment