]> Cypherpunks repositories - gostls13.git/commit
compress/bzip2: remove bit-tricks
authorIlya Tocar <ilya.tocar@intel.com>
Wed, 21 Mar 2018 21:42:02 +0000 (16:42 -0500)
committerIlya Tocar <ilya.tocar@intel.com>
Wed, 21 Mar 2018 21:57:15 +0000 (21:57 +0000)
commit9eb219480e8de08d380ee052b7bff293856955f8
tree3d4433d259ad03e276c0747d2aa42de754823ece
parent88129f0cb2438b555fd1dc74c707408251902b4e
compress/bzip2: remove bit-tricks

Since compiler is now able to generate conditional moves, we can replace
bit-tricks with simple if/else. This even results in slightly better performance:

name            old time/op    new time/op    delta
DecodeDigits-6    13.4ms ± 4%    13.0ms ± 2%  -2.63%  (p=0.003 n=10+10)
DecodeTwain-6     37.5ms ± 1%    36.3ms ± 1%  -3.03%  (p=0.000 n=10+9)
DecodeRand-6      4.23ms ± 1%    4.07ms ± 1%  -3.67%  (p=0.000 n=10+9)

name            old speed      new speed      delta
DecodeDigits-6  7.47MB/s ± 4%  7.67MB/s ± 2%  +2.69%  (p=0.002 n=10+10)
DecodeTwain-6   10.4MB/s ± 1%  10.7MB/s ± 1%  +3.25%  (p=0.000 n=10+8)
DecodeRand-6    3.87MB/s ± 1%  4.03MB/s ± 2%  +4.08%  (p=0.000 n=10+10)
diff --git a/src/compress/bzip2/huffman.go b/src/compress/bzip2/huffman.go

Change-Id: Ie96ef1a9e07013b07e78f22cdccd531f3341caca
Reviewed-on: https://go-review.googlesource.com/102015
Run-TryBot: Ilya Tocar <ilya.tocar@intel.com>
Reviewed-by: Joe Tsai <joetsai@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/compress/bzip2/huffman.go