tailscale/wgengine
Brad Fitzpatrick 21ed31e33a wgengine/filter: use NewContainsIPFunc for Srcs matches
NewContainsIPFunc returns a contains matcher optimized for its
input. Use that instead of what this did before, always doing a test
over each of a list of netip.Prefixes.

    goos: darwin
    goarch: arm64
    pkg: tailscale.com/wgengine/filter
                        │   before    │                after                │
                        │   sec/op    │   sec/op     vs base                │
    FilterMatch/file1-8   32.60n ± 1%   18.87n ± 1%  -42.12% (p=0.000 n=10)

Updates #12486

Change-Id: I8f902bc064effb431e5b46751115942104ff6531
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-06-15 21:15:03 -07:00
..
bench ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
capture various: add golangci-lint, fix issues (#7905) 2023-04-17 18:38:24 -04:00
filter wgengine/filter: use NewContainsIPFunc for Srcs matches 2024-06-15 21:15:03 -07:00
magicsock wgengine/magicsock: use math/rands/v2 2024-06-05 15:57:27 -07:00
netlog wgengine: add exit destination logging enable for wgengine logger (#11952) 2024-05-02 13:55:05 -04:00
netstack wgengine/netstack: add test for #12448 2024-06-13 11:46:48 -07:00
router health: begin work to use structured health warnings instead of strings, pipe changes into ipn.Notify (#12406) 2024-06-14 11:53:56 -07:00
wgcfg ipn,wgengine: remove vestigial Prefs.AllowSingleHosts 2024-05-17 20:50:19 -07:00
wgint wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2024-02-28 09:50:18 -08:00
wglog all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
winnet all: update copyright and license headers 2023-01-27 15:36:29 -08:00
mem_ios.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pendopen.go wgengine: make pendOpen time later, after dup check 2024-02-26 19:09:12 -08:00
userspace_ext_test.go ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
userspace_test.go ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
userspace.go net/dns: don't set MatchDomains on Apple platforms when no upstream nameservers available (#12334) 2024-06-04 09:41:13 -07:00
watchdog_js.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
watchdog_test.go ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
watchdog.go ipn/ipnlocal,net/tstun,wgengine: create and plumb jailed packet filter 2024-05-06 15:32:22 -07:00
wgengine.go ipn/ipnlocal,net/tstun,wgengine: create and plumb jailed packet filter 2024-05-06 15:32:22 -07:00