mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-26 19:45:35 +00:00
24bac27632
The new math/rand/v2 package includes an m-local global random number generator that can not be reseeded by the user, which is suitable for most uses without the RNG pools we have in a number of areas of the code base. The new API still does not have an allocation-free way of performing a seeded operations, due to the long term compiler bug around interface parameter escapes, and the Source interface. This change introduces the two APIs that math/rand/v2 can not yet replace efficiently: seeded Perm() and Shuffle() operations. This implementation chooses to use the PCG random source from math/rand/v2, as with sufficient compiler optimization, this source should boil down to only two on-stack registers for random state under ideal conditions. Updates #17243 Signed-off-by: James Tucker <james@tailscale.com> |
||
---|---|---|
.. | ||
childproc | ||
debug.go | ||
depaware.txt | ||
generate.go | ||
install_darwin.go | ||
install_windows.go | ||
manifest_windows_386.syso | ||
manifest_windows_amd64.syso | ||
manifest_windows_arm64.syso | ||
proxy.go | ||
required_version.go | ||
sigpipe.go | ||
ssh.go | ||
taildrop.go | ||
tailscaled_bird.go | ||
tailscaled_notwindows.go | ||
tailscaled_test.go | ||
tailscaled_windows.go | ||
tailscaled.defaults | ||
tailscaled.go | ||
tailscaled.openrc | ||
tailscaled.service | ||
windows-manifest.xml | ||
with_cli.go |