diff --git a/doc/go1.20.html b/doc/go1.20.html index 710e4da025..571c466134 100644 --- a/doc/go1.20.html +++ b/doc/go1.20.html @@ -246,8 +246,27 @@ Do not send CLs removing the interior tags from such phrases.
- TODO: complete this section, or delete if not needed +
+ The runtime now has experimental support for memory-safe arena allocation
+ that makes it possible to eagerly free memory in bulk.
+ When used appopriately, it has the potential to improve CPU performance by
+ up to 15% in memory-allocation-heavy applications.
+ To try it out, build your Go program with GOEXPERIMENT=arenas,
+ which will make the arena package visible to your program.
+ Source files that import the arena package must require the
+ goexperiment.arenas build tag.
+
+ Some of the garbage collector's internal data structures were reorganized to + be both more space and CPU efficient. + This change reduces memory overheads and improves overall CPU performance by + up to 2%. +
+ ++ The garbage collector behaves less erratically with respect to goroutine + assists in some circumstances.
+
Go 1.20 adds new supported metrics,
including the current GOMAXPROCS setting (/sched/gomaxprocs:threads),
the number of cgo calls executed (/cgo/go-to-c-calls:calls),
- and various measures of time spent in garbage collection.
+ total mutex block time (/sync/mutex/wait/total), and various measures of time
+ spent in garbage collection.
+
+ Time-based histogram metrics are now less precise, but take up much less memory.
+ Mutex profile samples are now pre-scaled, fixing an issue where old mutex profile + samples would be scaled incorrectly if the sampling rate changed during execution. +
+ ++ Profiles collected on Windows now include memory mapping information that fixes + symbolization issues for position-independent binaries. +
++ The garbage collector's background sweeper now yields less frequently, + resulting in many fewer extraneous events in execution traces. +
+