tailscale/types
Josh Bleecher Snyder 5666663370 net/packet: use netaddr AppendTo methods
This lets us remote the types/strbuilder package,
which had only a single user.
And it's faster.

name              old time/op    new time/op    delta
String/tcp4-8        175ns ± 0%      58ns ± 1%  -66.95%  (p=0.000 n=10+9)
String/tcp6-8        226ns ± 1%     136ns ± 1%  -39.85%  (p=0.000 n=10+10)
String/udp4-8        175ns ± 1%      58ns ± 1%  -67.01%  (p=0.000 n=10+9)
String/udp6-8        230ns ± 1%     140ns ± 0%  -39.32%  (p=0.000 n=10+9)
String/icmp4-8       164ns ± 0%      50ns ± 1%  -69.89%  (p=0.000 n=10+10)
String/icmp6-8       217ns ± 1%     129ns ± 0%  -40.46%  (p=0.000 n=10+10)
String/igmp-8        196ns ± 0%      56ns ± 1%  -71.32%  (p=0.000 n=10+10)
String/unknown-8    2.06ns ± 1%    2.06ns ± 2%     ~     (p=0.985 n=10+10)

name              old alloc/op   new alloc/op   delta
String/tcp4-8        32.0B ± 0%     32.0B ± 0%     ~     (all equal)
String/tcp6-8         168B ± 0%       96B ± 0%  -42.86%  (p=0.000 n=10+10)
String/udp4-8        32.0B ± 0%     32.0B ± 0%     ~     (all equal)
String/udp6-8         168B ± 0%       96B ± 0%  -42.86%  (p=0.000 n=10+10)
String/icmp4-8       32.0B ± 0%     32.0B ± 0%     ~     (all equal)
String/icmp6-8        104B ± 0%       64B ± 0%  -38.46%  (p=0.000 n=10+10)
String/igmp-8        48.0B ± 0%     48.0B ± 0%     ~     (all equal)
String/unknown-8     0.00B          0.00B          ~     (all equal)

name              old allocs/op  new allocs/op  delta
String/tcp4-8         1.00 ± 0%      1.00 ± 0%     ~     (all equal)
String/tcp6-8         3.00 ± 0%      1.00 ± 0%  -66.67%  (p=0.000 n=10+10)
String/udp4-8         1.00 ± 0%      1.00 ± 0%     ~     (all equal)
String/udp6-8         3.00 ± 0%      1.00 ± 0%  -66.67%  (p=0.000 n=10+10)
String/icmp4-8        1.00 ± 0%      1.00 ± 0%     ~     (all equal)
String/icmp6-8        3.00 ± 0%      1.00 ± 0%  -66.67%  (p=0.000 n=10+10)
String/igmp-8         1.00 ± 0%      1.00 ± 0%     ~     (all equal)
String/unknown-8      0.00           0.00          ~     (all equal)

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2021-05-20 20:42:18 -07:00
..
empty types/empty: add Message, stop using mysterious *struct{} 2020-02-14 13:35:49 -08:00
flagtype types/flagtype: fix bug showing the default port value (shown in --help) 2020-10-19 20:18:31 -07:00
ipproto net/packet, wgengine/filter: support SCTP 2021-03-20 21:34:13 -07:00
key wgengine/magicsock: stop depending on UpdateDst in legacy codepaths. 2021-01-14 12:56:48 -08:00
logger types/logger: add key grinder stats lines to rate-limiting exemption list 2021-05-05 08:25:15 -07:00
netmap all: adapt to opaque netaddr types 2021-05-16 14:52:00 -07:00
nettype wgengine/magicsock, tstest/natlab: start hooking up natlab to magicsock 2020-07-10 14:32:58 -07:00
opt types/opt: add Bool.EqualBool method 2020-06-25 19:14:24 -07:00
pad32 net/portmapper: add NAT-PMP client, move port mapping service probing 2021-02-23 09:07:38 -08:00
persist types/persist: split controlclient.Persist into a small leaf package 2021-02-05 15:25:33 -08:00
preftype types/preftype: don't use iota for consts persisted to disk 2021-04-02 09:02:54 -07:00
structs types/structs: add structs.Incomparable annotation, use it where applicable 2020-05-03 14:05:32 -07:00
wgkey types/wgkey: optimize Key.ShortString 2021-05-10 09:43:44 -07:00