tailscale/util
James Tucker d0f3fa7d7e util/fastuuid: add a more efficient uuid generator
This still generates github.com/google/uuid UUID objects, but does so
using a ChaCha8 CSPRNG from the stdlib rand/v2 package. The public API
is backed by a sync.Pool to provide good performance in highly
concurrent operation.

Under high load the read API produces a lot of extra garbage and
overhead by way of temporaries and syscalls. This implementation reduces
both to minimal levels, and avoids any long held global lock by
utilizing sync.Pool.

Updates tailscale/corp#18266
Updates tailscale/corp#19054

Signed-off-by: James Tucker <james@tailscale.com>
2024-04-09 14:05:20 -07:00
..
cache util/cache: fix missing interface methods (#11275) 2024-02-27 23:03:49 -05:00
cibuild
clientmetric
cloudenv util/cloudenv: add support for DigitalOcean 2024-02-10 14:36:20 -05:00
cmpver util/cmpver: add Less/LessEq helper funcs 2024-03-05 16:57:04 +00:00
codegen
cstruct
ctxkey all: use reflect.TypeFor now available in Go 1.22 (#11078) 2024-02-08 17:34:22 -08:00
deephash all: use reflect.TypeFor now available in Go 1.22 (#11078) 2024-02-08 17:34:22 -08:00
dirwalk
dnsname
execqueue control/controlclient,util/execqueue: extract execqueue into a package 2024-01-18 12:08:13 -08:00
expvarx util/expvarx: add a time and concurrency limiting expvar.Func wrapper 2024-01-24 17:47:16 -08:00
fastuuid util/fastuuid: add a more efficient uuid generator 2024-04-09 14:05:20 -07:00
goroutines util/goroutines: let ScrubbedGoroutineDump get only current stack 2023-06-23 12:50:45 -07:00
groupmember util/groupmember: fail earlier if group doesn't exist, use slices.Contains 2023-11-01 19:23:16 -07:00
hashx
httphdr util/httphdr: add new package for parsing HTTP headers (#9797) 2023-10-13 15:38:22 -07:00
httpm util/httpm: don't run test if .git doesn't exist 2023-11-22 12:09:59 -05:00
jsonutil
limiter util/lru, util/limiter: add debug helper to dump state as HTML 2023-09-08 14:47:03 -07:00
lineread
linuxfw cmd/tailscaled: move cleanup to an implicit action during startup 2024-04-09 12:44:08 -07:00
lru util/lru: update c.head when deleting the most recently used entry 2023-09-19 12:17:50 -07:00
mak
multierr all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 2023-08-17 08:42:35 -07:00
must
nocasemaps util/nocasemaps: add AppendSliceElem method to nocasemaps (#10871) 2024-01-19 15:30:12 -08:00
osdiag util/osdiag, util/winutil: expose Windows policy key 2023-11-15 15:01:25 -05:00
osshare
osuser ssh/tailssh,util: extract new osuser package from ssh code (#10170) 2023-11-09 09:49:06 -08:00
pidowner
precompress
progresstracking ipn/localapi: add support for multipart POST to file-put 2024-03-27 08:53:52 -05:00
quarantine
race util/race: add test to confirm we don't leak goroutines 2023-10-03 18:44:22 -04:00
racebuild
rands util/rands: add Shuffle and Perm functions with on-stack RNG state 2024-02-09 15:19:27 -08:00
reload util/reload: add new package to handle periodic value loading 2024-03-20 18:23:54 -04:00
ringbuffer wgengine/magicsock: don't use endpoint debug ringbuffer on mobile. 2024-03-21 06:58:55 -07:00
set util/set: implement json.Marshaler/Unmarshaler (#10308) 2023-11-20 08:00:31 -08:00
singleflight
slicesx util/slicesx: add Filter function 2024-01-19 11:17:05 -05:00
syspolicy util/syspolicy: add 'ResetToDefaults' (#11194) 2024-02-22 10:10:31 -08:00
sysresources
systemd
testenv util/testenv: add new package to hold InTest 2023-08-08 19:51:44 -06:00
topk util/topk: add package containing a probabilistic top-K tracker 2024-02-14 13:28:58 -05:00
truncate util/truncate: support []byte as well (#11614) 2024-04-04 14:38:16 -07:00
uniq
vizerror
winutil util/winutil/winenv: add package for current Windows environment details 2024-04-09 13:25:37 -05:00
zstdframe util/zstdframe: support specifying a MaxWindowSize (#11595) 2024-04-04 10:46:20 -07:00