tailscale/types
Josh Bleecher Snyder 05bed64772 types/wgkey: simplify Key.UnmarshalJSON
Instead of calling ParseHex, do the hex.Decode directly.

name             old time/op    new time/op    delta
UnmarshalJSON-8    86.9ns ± 0%    42.6ns ± 0%   -50.94%  (p=0.000 n=15+14)

name             old alloc/op   new alloc/op   delta
UnmarshalJSON-8      128B ± 0%        0B       -100.00%  (p=0.000 n=15+15)

name             old allocs/op  new allocs/op  delta
UnmarshalJSON-8      2.00 ± 0%      0.00       -100.00%  (p=0.000 n=15+15)

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2021-05-06 12:44:22 -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 wgengine/netstack: don't pass non-subnet traffic to netstack in hybrid mode 2021-05-05 13:38:55 -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
strbuilder types/strbuilder: add a variant of strings.Builder that uses sync.Pool 2020-05-25 08:50:48 -07:00
structs types/structs: add structs.Incomparable annotation, use it where applicable 2020-05-03 14:05:32 -07:00
wgkey types/wgkey: simplify Key.UnmarshalJSON 2021-05-06 12:44:22 -07:00