tailscale/types
Brad Fitzpatrick c7d68724ad types/key: shrink NodePublic by using unique.Handle representation
@raggi and I have been experimenting with using unique.Handle for
public keys in various places.

This is an experiment to see what it looks like just going all the
way, so a NodePublic is always just a single word (a single pointer)
behind the scenes, so 8 bytes (in practice, on 64-bit) instead of 32
bytes.

Downsides are some extra unique.Make lookups (probably cheap enough)
and it makes data structures that were previously skipped by GC as
having no pointers no longer skipped. But on the upside, it saves
memory and makes certain operations much faster.

Updates tailscale/corp#24485

Change-Id: Ic5c807b86b465769b046fba5d640c4fe73bf2a2f
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-11-11 12:40:28 -08:00
..
appctype appc,ipn/ipnlocal,types/appctype: implement control provided routes 2024-01-17 14:40:09 -08:00
bools types/bools: add Compare to compare boolean values (#13792) 2024-10-11 13:12:18 -07:00
dnstype cli: add tailscale dns query (#13368) 2024-09-24 20:18:45 +00:00
empty all: update copyright and license headers 2023-01-27 15:36:29 -08:00
flagtype all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ipproto all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
key types/key: shrink NodePublic by using unique.Handle representation 2024-11-11 12:40:28 -08:00
lazy types/lazy: add DeferredInit type 2024-10-07 15:43:22 -05:00
logger all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
logid types/logid: add Add method (#12478) 2024-06-17 16:03:44 -07:00
netlogtype all: update copyright and license headers 2023-01-27 15:36:29 -08:00
netmap net/ipset, wgengine/filter/filtertype: add split-out packages 2024-06-16 15:25:23 -07:00
nettype wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migration 2023-04-15 13:40:15 -07:00
opt util/syspolicy/setting: make setting.RawItem JSON-marshallable 2024-10-30 12:50:29 -05:00
persist types/persist: remove unused field Persist.Provider 2024-04-21 10:48:25 -07:00
prefs types/prefs: add a package containing generic preference types 2024-08-21 12:44:38 -05:00
preftype cmd/tailscaled,*: add start of configuration file support 2023-10-16 10:40:27 -07:00
ptr all: update copyright and license headers 2023-01-27 15:36:29 -08:00
result types/result, util/lineiter: add package for a result type, use it 2024-11-05 10:27:52 -08:00
structs all: update copyright and license headers 2023-01-27 15:36:29 -08:00
tkatype types/tkatype: add test for MarshaledSignature's JSON format 2023-08-19 19:34:18 -07:00
views types/views: add iterators to the three Map view types 2024-10-09 10:00:29 -07:00