]> Cypherpunks repositories - gostls13.git/commit
encoding/hex: simplify encoder arithmetic
authorDaniel Martí <mvdan@mvdan.cc>
Sun, 25 Nov 2018 23:02:28 +0000 (23:02 +0000)
committerDaniel Martí <mvdan@mvdan.cc>
Tue, 5 Mar 2019 17:40:09 +0000 (17:40 +0000)
commita563f2f4177e6b3b897ae0a1c452e53ffc245638
treedeca33b83c068345056e30f5de547e77e7a17eeb
parentebdc24c3d334132542daa7c57246389e0b259227
encoding/hex: simplify encoder arithmetic

Two additions are faster than two multiplications and one addition. The
code seems simpler to me too, as it's more obvious that we advance two
destination bytes for each source byte.

name            old time/op  new time/op  delta
Encode/256-8     374ns ± 0%   331ns ± 0%  -11.44%  (p=0.008 n=5+5)
Encode/1024-8   1.47µs ± 0%  1.29µs ± 0%  -11.89%  (p=0.004 n=6+5)
Encode/4096-8   5.85µs ± 1%  5.15µs ± 0%  -11.89%  (p=0.004 n=6+5)
Encode/16384-8  23.3µs ± 0%  20.6µs ± 0%  -11.68%  (p=0.004 n=6+5)

Change-Id: Iabc63616c1d9fded55fa668ff41dd49efeaa2ea4
Reviewed-on: https://go-review.googlesource.com/c/go/+/151198
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: roger peppe <rogpeppe@gmail.com>
src/encoding/hex/hex.go
src/encoding/hex/hex_test.go