Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
s2: Improve small block compression speed w/o asm (#1048)
* s2: Improve small block compression speed w/o asm Test with `-tags=noasm` Uses uint16 hash table, which reduced the zero cost by a lot. ``` benchmark old MB/s new MB/s speedup BenchmarkEncodeSnappyBlockParallel/12-txt1_128b/s2-snappy-16 2518.04 4430.70 1.76x BenchmarkEncodeSnappyBlockParallel/12-txt1_128b/s2-snappy-better-16 4.59 1852.29 403.55x BenchmarkEncodeSnappyBlockParallel/12-txt1_128b/snappy-noasm-16 3362.43 3561.17 1.06x BenchmarkEncodeSnappyBlockParallel/13-txt1_1000b/s2-snappy-16 8053.34 9026.64 1.12x BenchmarkEncodeSnappyBlockParallel/13-txt1_1000b/s2-snappy-better-16 34.60 3804.57 109.96x BenchmarkEncodeSnappyBlockParallel/13-txt1_1000b/snappy-noasm-16 4901.85 4904.47 1.00x BenchmarkEncodeSnappyBlockParallel/14-txt1_10000b/s2-snappy-16 9349.04 9544.38 1.02x BenchmarkEncodeSnappyBlockParallel/14-txt1_10000b/s2-snappy-better-16 359.32 3795.91 10.56x BenchmarkEncodeSnappyBlockParallel/14-txt1_10000b/snappy-noasm-16 5361.99 5535.82 1.03x BenchmarkEncodeSnappyBlockParallel/15-txt1_20000b/s2-snappy-16 8852.18 9300.86 1.05x BenchmarkEncodeSnappyBlockParallel/15-txt1_20000b/s2-snappy-better-16 594.96 3226.26 5.42x BenchmarkEncodeSnappyBlockParallel/15-txt1_20000b/snappy-noasm-16 3418.03 3435.88 1.01x ``` ```
- Loading branch information