Skip to content

Commit

Permalink
huff0: Add amd64 assembly for low tablelogs
Browse files Browse the repository at this point in the history
Solid improvement on large payload, but regression on small.

```
benchmark                                                   old MB/s     new MB/s     speedup
BenchmarkDecompress4XNoTable/digits/100-32                  296.37       154.65       0.52x
BenchmarkDecompress4XNoTable/digits/10000-32                693.64       916.51       1.32x
BenchmarkDecompress4XNoTable/digits/262143-32               631.10       876.36       1.39x
BenchmarkDecompress4XNoTable/gettysburg/100-32              343.16       204.11       0.59x
BenchmarkDecompress4XNoTable/twain/100-32                   297.23       162.42       0.55x
BenchmarkDecompress4XNoTable/low-ent.10k/100-32             267.55       149.23       0.56x
BenchmarkDecompress4XNoTable/low-ent.10k/10000-32           752.34       912.03       1.21x
BenchmarkDecompress4XNoTable/low-ent.10k/262143-32          778.37       1023.79      1.32x
BenchmarkDecompress4XNoTable/superlow-ent-10k/262143-32     777.72       1020.92      1.31x
BenchmarkDecompress4XNoTable/case1/100-32                   307.09       158.09       0.51x
BenchmarkDecompress4XNoTable/case1/10000-32                 693.03       899.10       1.30x
BenchmarkDecompress4XNoTable/case1/262143-32                696.06       954.08       1.37x
BenchmarkDecompress4XNoTable/case2/100-32                   292.50       159.58       0.55x
BenchmarkDecompress4XNoTable/case2/10000-32                 713.88       924.82       1.30x
BenchmarkDecompress4XNoTable/case2/262143-32                724.83       975.00       1.35x
BenchmarkDecompress4XNoTable/case3/100-32                   298.72       158.89       0.53x
BenchmarkDecompress4XNoTable/case3/10000-32                 704.81       926.74       1.31x
BenchmarkDecompress4XNoTable/case3/262143-32                708.32       969.43       1.37x
BenchmarkDecompress4XNoTable/pngdata.001/100-32             285.21       153.79       0.54x
BenchmarkDecompress4XNoTable/normcount2/100-32              335.74       205.54       0.61x
BenchmarkDecompress4XNoTable/normcount2/10000-32            677.11       910.41       1.34x
BenchmarkDecompress4XNoTable/normcount2/262143-32           682.78       942.87       1.38x
BenchmarkDecompress4XNoTableTableLog8/digits-32             678.59       932.54       1.37x
```
  • Loading branch information
klauspost committed Mar 8, 2022
1 parent d5c0d28 commit 3a9222d
Show file tree
Hide file tree
Showing 7 changed files with 1,179 additions and 478 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

0 comments on commit 3a9222d

Please sign in to comment.