Commit dc79206a authored by Iskander Sharipov's avatar Iskander Sharipov Committed by Brad Fitzpatrick

net: combine append calls in reverseaddr

Combined appends lead to fewer machine code and faster performance.
Some may even say that it makes code more readable.

Running revAddrTests over reverseaddr gives measurable improvements:

	name              old time/op  new time/op  delta
	ReverseAddress-8  4.10µs ± 3%  3.94µs ± 1%  -3.81%  (p=0.000 n=10+9)

Change-Id: I9bda7a20f802bcdffc6e948789765d04c6da04e7
Reviewed-on: https://go-review.googlesource.com/117615
Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: 's avatarDaniel Martí <mvdan@mvdan.cc>
Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
parent e0faedbb
......@@ -27,10 +27,10 @@ func reverseaddr(addr string) (arpa string, err error) {
// Add it, in reverse, to the buffer
for i := len(ip) - 1; i >= 0; i-- {
v := ip[i]
buf = append(buf, hexDigit[v&0xF])
buf = append(buf, '.')
buf = append(buf, hexDigit[v>>4])
buf = append(buf, '.')
buf = append(buf, hexDigit[v&0xF],
'.',
hexDigit[v>>4],
'.')
}
// Append "ip6.arpa." and return (buf already has the final .)
buf = append(buf, "ip6.arpa."...)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment