]> Cypherpunks repositories - gostls13.git/commitdiff
net: combine append calls in reverseaddr
authorIskander Sharipov <iskander.sharipov@intel.com>
Sat, 9 Jun 2018 17:43:54 +0000 (20:43 +0300)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 20 Aug 2018 05:23:29 +0000 (05:23 +0000)
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: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/net/dnsclient.go

index 2e4bffaab8b85b9ad29d5570de95aca5efeb45fe..e3524280b6aaff7ad96dc77b3dd86bc9c8c63bac 100644 (file)
@@ -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."...)