aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/debug
diff options
context:
space:
mode:
authorKlaus Post <klauspost@gmail.com>2015-08-30 22:29:00 +0200
committerKeith Randall <khr@golang.org>2015-09-16 15:42:42 +0000
commit2027b00e63d9128eaba4a0164072380561c0fc9c (patch)
tree695d5e7e309a640313266ce833f22c52ce49206a /src/runtime/debug
parentf0ea976ee4591785fb028b77bcd02fb8590650ed (diff)
downloadgo-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')
0 files changed, 0 insertions, 0 deletions