You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/wgengine
Brad Fitzpatrick 9e0a5cc551 net/flowtrack: optimize Tuple type for use as map key
This gets UDP filter overhead closer to TCP. Still ~2x, but no longer ~3x.

    goos: darwin
    goarch: arm64
    pkg: tailscale.com/wgengine/filter
                                       │   before    │                after                │
                                       │   sec/op    │   sec/op     vs base                │
    FilterMatch/tcp-not-syn-v4-8         15.43n ± 3%   15.38n ± 5%        ~ (p=0.339 n=10)
    FilterMatch/udp-existing-flow-v4-8   42.45n ± 0%   34.77n ± 1%  -18.08% (p=0.000 n=10)
    geomean                              25.59n        23.12n        -9.65%

Updates #12486

Change-Id: I595cfadcc6b7234604bed9c4dd4261e087c0d4c4
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
1 year ago
..
bench ipn/ipnlocal, all: plumb health trackers in tests 2 years ago
capture various: add golangci-lint, fix issues (#7905) 3 years ago
filter net/flowtrack: optimize Tuple type for use as map key 1 year ago
magicsock wgengine/magicsock: use math/rands/v2 2 years ago
netlog wgengine: add exit destination logging enable for wgengine logger (#11952) 2 years ago
netstack proxymap, various: distinguish between different protocols 1 year ago
router health: begin work to use structured health warnings instead of strings, pipe changes into ipn.Notify (#12406) 1 year ago
wgcfg ipn,wgengine: remove vestigial Prefs.AllowSingleHosts 2 years ago
wgint wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2 years ago
wglog all: use Go 1.22 range-over-int 2 years ago
winnet all: update copyright and license headers 3 years ago
mem_ios.go all: update copyright and license headers 3 years ago
pendopen.go net/flowtrack: optimize Tuple type for use as map key 1 year ago
userspace.go net/ipset, wgengine/filter/filtertype: add split-out packages 1 year ago
userspace_ext_test.go ipn/ipnlocal, all: plumb health trackers in tests 2 years ago
userspace_test.go ipn/ipnlocal, all: plumb health trackers in tests 2 years ago
watchdog.go ipn/ipnlocal,net/tstun,wgengine: create and plumb jailed packet filter 2 years ago
watchdog_js.go all: update copyright and license headers 3 years ago
watchdog_test.go ipn/ipnlocal, all: plumb health trackers in tests 2 years ago
wgengine.go ipn/ipnlocal,net/tstun,wgengine: create and plumb jailed packet filter 2 years ago