diff options
| author | Klaus Post <klauspost@gmail.com> | 2015-08-30 22:29:00 +0200 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2015-09-16 15:42:42 +0000 |
| commit | 2027b00e63d9128eaba4a0164072380561c0fc9c (patch) | |
| tree | 695d5e7e309a640313266ce833f22c52ce49206a /src/runtime/debug/stack.go | |
| parent | f0ea976ee4591785fb028b77bcd02fb8590650ed (diff) | |
| download | go-2027b00e63d9128eaba4a0164072380561c0fc9c.tar.xz | |
hash/crc32: add AMD64 optimized IEEE CRC calculation
IEEE is the most commonly used CRC-32 polynomial, used by zip, gzip and others.
Based on http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf
benchmark old ns/op new ns/op delta
BenchmarkIEEECrc1KB-8 3193 352 -88.98%
BenchmarkIEEECrc4KB-8 5025 1307 -73.99%
BenchmarkCastagnoliCrc1KB-8 126 126 +0.00%
benchmark old MB/s new MB/s speedup
BenchmarkIEEECrc1KB-8 320.68 2901.92 9.05x
BenchmarkIEEECrc4KB-8 815.08 3131.80 3.84x
BenchmarkCastagnoliCrc1KB-8 8100.80 8109.78 1.00x
Change-Id: I99c9a48365f631827f516e44f97e86155f03cb90
Reviewed-on: https://go-review.googlesource.com/14080
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/runtime/debug/stack.go')
0 files changed, 0 insertions, 0 deletions
