diff options
| author | Davies Liu <davies.liu@gmail.com> | 2014-12-18 22:45:55 -0800 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2015-06-18 18:14:24 +0000 |
| commit | 1e0760354c8a929d9d84575106ae264fa6395132 (patch) | |
| tree | cfd07e2eb43c0153e03155134d1cfd59ab974f01 /src/runtime/debug/stack.go | |
| parent | d1e7980d1b25b5446bee9a9fc0b53eddd899718a (diff) | |
| download | go-1e0760354c8a929d9d84575106ae264fa6395132.tar.xz | |
hash/crc32: speedup crc32 of IEEE using slicingBy8
The Slicing-By-8 [1] algorithm has much performance improvements than
current approach. This patch only uses it for IEEE, which is the most
common case in practice.
There is the benchmark on Mac OS X 10.9:
benchmark old MB/s new MB/s speedup
BenchmarkIEEECrc1KB 349.40 353.03 1.01x
BenchmarkIEEECrc4KB 351.55 934.35 2.66x
BenchmarkCastagnoliCrc1KB 7037.58 7392.63 1.05x
This algorithm need 8K lookup table, so it's enabled only for block
larger than 4K.
We can see about 2.6x improvement for IEEE.
Change-Id: I7f786d20f0949245e4aa101d7921669f496ed0f7
Reviewed-on: https://go-review.googlesource.com/1863
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/debug/stack.go')
0 files changed, 0 insertions, 0 deletions
