diff options
| author | Robert Griesemer <gri@golang.org> | 2017-02-17 11:32:08 -0800 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2017-02-17 19:38:26 +0000 |
| commit | ddb15cea4a02c403160c2d9772f85c122cbc8248 (patch) | |
| tree | 76f7a6883f1dd07e6a0b6741050a59cf45193c6b /src/math/bits/bits_impl.go | |
| parent | 7d5c003a3a630dc82e10d72a86ae6103c4d3809a (diff) | |
| download | go-ddb15cea4a02c403160c2d9772f85c122cbc8248.tar.xz | |
math/bits: much faster ReverseBytes, added respective benchmarks
Measured on 2.3 GHz Intel Core i7, running maxOS 10.12.3.
benchmark old ns/op new ns/op delta
BenchmarkReverseBytes-8 11.4 3.51 -69.21%
BenchmarkReverseBytes16-8 6.87 0.64 -90.68%
BenchmarkReverseBytes32-8 7.79 0.65 -91.66%
BenchmarkReverseBytes64-8 11.6 0.64 -94.48%
name old time/op new time/op delta
ReverseBytes-8 11.4ns ± 0% 3.5ns ± 0% ~ (p=1.000 n=1+1)
ReverseBytes16-8 6.87ns ± 0% 0.64ns ± 0% ~ (p=1.000 n=1+1)
ReverseBytes32-8 7.79ns ± 0% 0.65ns ± 0% ~ (p=1.000 n=1+1)
ReverseBytes64-8 11.6ns ± 0% 0.6ns ± 0% ~ (p=1.000 n=1+1)
Change-Id: I67b529652b3b613c61687e9e185e8d4ee40c51a2
Reviewed-on: https://go-review.googlesource.com/37211
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/math/bits/bits_impl.go')
| -rw-r--r-- | src/math/bits/bits_impl.go | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/src/math/bits/bits_impl.go b/src/math/bits/bits_impl.go index da38429fee..3a425e3b83 100644 --- a/src/math/bits/bits_impl.go +++ b/src/math/bits/bits_impl.go @@ -93,14 +93,6 @@ func rot(x uint64, size, k uint) uint64 { return x<<k | x>>(size-k)&(1<<k-1) } -func swap(x uint64, size uint) (r uint64) { - for i := size / 8; i > 0; i-- { - r = r<<8 | x&0xff - x >>= 8 - } - return -} - func blen(x uint64) (i int) { for ; x >= 1<<(16-1); x >>= 16 { i += 16 |
