Encode copies of length 65, 66 or 67 as 5 bytes, not 6.
The benchmarks don't show a big change either way, but the output is
shorter, and it matches what the C++ snappy code does.
benchmark old MB/s new MB/s speedup
BenchmarkWordsEncode1e1-8 5.77 5.77 1.00x
BenchmarkWordsEncode1e2-8 47.15 47.26 1.00x
BenchmarkWordsEncode1e3-8 180.77 183.25 1.01x
BenchmarkWordsEncode1e4-8 202.01 198.96 0.98x
BenchmarkWordsEncode1e5-8 145.66 144.68 0.99x
BenchmarkWordsEncode1e6-8 174.12 172.31 0.99x
BenchmarkRandomEncode-8 4522.91 4495.78 0.99x
Benchmark_ZFlat0-8 359.70 359.79 1.00x
Benchmark_ZFlat1-8 181.18 181.82 1.00x
Benchmark_ZFlat2-8 4612.52 4557.46 0.99x
Benchmark_ZFlat3-8 85.65 84.82 0.99x
Benchmark_ZFlat4-8 559.51 558.52 1.00x
Benchmark_ZFlat5-8 354.88 352.91 0.99x
Benchmark_ZFlat6-8 156.14 156.26 1.00x
Benchmark_ZFlat7-8 148.18 148.12 1.00x
Benchmark_ZFlat8-8 162.68 162.21 1.00x
Benchmark_ZFlat9-8 141.81 142.32 1.00x
Benchmark_ZFlat10-8 399.79 401.94 1.01x
Benchmark_ZFlat11-8 237.43 235.91 0.99x
2 files changed