mirror of
https://github.com/tailscale/tailscale.git
synced 2026-05-06 20:56:24 +02:00
This links in github.com/go-json-experiment/json into tailscaled. After this change, the tailscaled binary on GOOS=linux and GOARCH=amd64 increases by ~85KiB. The v2 marshal/unmarshal methods avoids a O(n^2) behavior with deeply nested v1 MarshalJSON and UnmarshalJSON calls, since each call requires the encoding/json package to rescan the entire JSON value. Our data structures are not so deep that the O(n^2) behavior becomes notable, but this does provide about a ~20% performance benefit. Updates tailscale/corp#14379 Signed-off-by: Joe Tsai <joetsai@digital-static.net>