Skip to content

Commit

Permalink
huff0: Add amd64 assembly for low tablelogs (#518)
Browse files Browse the repository at this point in the history
Solid improvement on large payload, but regression on small, so we fall back to Go for those.

```
benchmark                                                   old MB/s     new MB/s     speedup
BenchmarkDecompress4XNoTable/digits/100-32                  296.37       296.75       1.00x
BenchmarkDecompress4XNoTable/digits/10000-32                693.64       919.28       1.33x
BenchmarkDecompress4XNoTable/digits/262143-32               631.10       876.14       1.39x
BenchmarkDecompress4XNoTable/gettysburg/100-32              343.16       342.84       1.00x
BenchmarkDecompress4XNoTable/twain/100-32                   297.23       296.70       1.00x
BenchmarkDecompress4XNoTable/low-ent.10k/100-32             267.55       267.49       1.00x
BenchmarkDecompress4XNoTable/low-ent.10k/10000-32           752.34       916.33       1.22x
BenchmarkDecompress4XNoTable/low-ent.10k/262143-32          778.37       1021.03      1.31x
BenchmarkDecompress4XNoTable/superlow-ent-10k/262143-32     777.72       1024.48      1.32x
BenchmarkDecompress4XNoTable/case1/100-32                   307.09       302.20       0.98x
BenchmarkDecompress4XNoTable/case1/10000-32                 693.03       912.43       1.32x
BenchmarkDecompress4XNoTable/case1/262143-32                696.06       948.19       1.36x
BenchmarkDecompress4XNoTable/case2/100-32                   292.50       287.26       0.98x
BenchmarkDecompress4XNoTable/case2/10000-32                 713.88       920.04       1.29x
BenchmarkDecompress4XNoTable/case2/262143-32                724.83       979.52       1.35x
BenchmarkDecompress4XNoTable/case3/100-32                   298.72       296.64       0.99x
BenchmarkDecompress4XNoTable/case3/10000-32                 704.81       928.19       1.32x
BenchmarkDecompress4XNoTable/case3/262143-32                708.32       973.26       1.37x
BenchmarkDecompress4XNoTable/pngdata.001/100-32             285.21       272.15       0.95x
BenchmarkDecompress4XNoTable/normcount2/100-32              335.74       335.80       1.00x
BenchmarkDecompress4XNoTable/normcount2/10000-32            677.11       911.46       1.35x
BenchmarkDecompress4XNoTable/normcount2/262143-32           682.78       939.67       1.38x
BenchmarkDecompress4XNoTableTableLog8/digits-32             678.59       931.37       1.37x
```
  • Loading branch information
klauspost committed Mar 8, 2022
1 parent d5c0d28 commit 275e1fc
Show file tree
Hide file tree
Showing 5 changed files with 709 additions and 4 deletions.
1 change: 1 addition & 0 deletions huff0/autogen.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ package huff0

//go:generate go run generate.go
//go:generate asmfmt -w decompress_amd64.s
//go:generate asmfmt -w decompress_8b_amd64.s
Loading

0 comments on commit 275e1fc

Please sign in to comment.