Make heuristic match skipping more aggressive.
This is the Go equivalent of an algorithmic change in the C++ snappy
code:
https://github.com/google/snappy/commit/d53de18799418e113e44444252a39b12a0e4e0cc
The discussion is at:
https://groups.google.com/d/topic/snappy-compression/3Qa3fASLkNA/discussion
benchmark old MB/s new MB/s speedup
BenchmarkWordsEncode1e1-8 680.57 679.12 1.00x
BenchmarkWordsEncode1e2-8 49.90 49.65 0.99x
BenchmarkWordsEncode1e3-8 213.28 212.75 1.00x
BenchmarkWordsEncode1e4-8 247.05 245.76 0.99x
BenchmarkWordsEncode1e5-8 180.68 179.95 1.00x
BenchmarkWordsEncode1e6-8 205.65 204.83 1.00x
BenchmarkRandomEncode-8 5678.83 11217.33 1.98x
Benchmark_ZFlat0-8 422.83 423.18 1.00x
Benchmark_ZFlat1-8 269.60 271.01 1.01x
Benchmark_ZFlat2-8 5517.16 11517.40 2.09x
Benchmark_ZFlat3-8 92.47 92.39 1.00x
Benchmark_ZFlat4-8 954.63 2947.73 3.09x
Benchmark_ZFlat5-8 419.71 419.87 1.00x
Benchmark_ZFlat6-8 184.13 183.45 1.00x
Benchmark_ZFlat7-8 175.83 175.89 1.00x
Benchmark_ZFlat8-8 193.49 193.84 1.00x
Benchmark_ZFlat9-8 169.02 168.59 1.00x
Benchmark_ZFlat10-8 500.19 499.85 1.00x
Benchmark_ZFlat11-8 271.20 270.60 1.00x
4 files changed