]> Cypherpunks repositories - gostls13.git/commit
net: cache IPv6 zone information for applications using IPv6 link-local address
authorMikio Hara <mikioh.mikioh@gmail.com>
Tue, 12 Apr 2016 21:19:53 +0000 (06:19 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Fri, 15 Apr 2016 01:45:27 +0000 (01:45 +0000)
commit1d214f7062e80bebb081cdfad2ceda3e5bd0de29
tree5258186a65107b879efe4831d51c4e3b0c70dd72
parent19db74566491dcbb4dc2ad0a92b98aa2c28dd8fe
net: cache IPv6 zone information for applications using IPv6 link-local address

This change reduces the overhead of calling routing information per IPv6
link-local datagram read by caching IPv6 addressing scope zone
information.

Fixes #15237.

name                    old time/op    new time/op    delta
UDP6LinkLocalUnicast-8    64.9µs ± 0%    18.6µs ± 0%  -71.30%

name                    old alloc/op   new alloc/op   delta
UDP6LinkLocalUnicast-8    11.2kB ± 0%     0.2kB ± 0%  -98.42%

name                    old allocs/op  new allocs/op  delta
UDP6LinkLocalUnicast-8       101 ± 0%         3 ± 0%  -97.03%

Change-Id: I5ae2ef5058df1028bbb7f4ab32b13edfb330c3a7
Reviewed-on: https://go-review.googlesource.com/21952
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/net/interface.go
src/net/ipsock.go
src/net/udpsock_test.go