Skip to content

Commit c8a8470

Browse files
authored
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 ``` ```
1 parent b05b993 commit c8a8470

File tree

4 files changed

+841
-9
lines changed

4 files changed

+841
-9
lines changed

0 commit comments

Comments
 (0)