diff options
author | Michael Anthony Knyszek <mknyszek@google.com> | 2022-11-29 21:23:40 +0000 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2022-11-30 19:32:42 +0000 |
commit | 85ce1fd97f6d187e3e2af05440065b0561eff363 (patch) | |
tree | 1acc8c196b7314cc0e78b6a0261e55c4892adb77 /doc | |
parent | 648f3febf54465162e095da99149de7a839576c6 (diff) | |
download | go-git-85ce1fd97f6d187e3e2af05440065b0561eff363.tar.gz |
doc/go1.20: add runtime, runtime/trace, and runtime/pprof release notes
This change adds release notes for the "Runtime" section and updated
some of the release notes for runtime/trace and runtime/pprof after I
looked at the full list of runtime-related changes.
For #54202.
Change-Id: Id1395f4e6e02d3fcc248855ca98ad0ee26cae574
Reviewed-on: https://go-review.googlesource.com/c/go/+/454075
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: Austin Clements <austin@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/go1.20.html | 55 |
1 files changed, 51 insertions, 4 deletions
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. <h2 id="runtime">Runtime</h2> -<p> - TODO: complete this section, or delete if not needed +<p><!-- CL 423359, https://go.dev/issue/51317 --> + 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 <code>GOEXPERIMENT=arenas</code>, + which will make the <code>arena</code> package visible to your program. + Source files that import the <code>arena</code> package must require the + <code>goexperiment.arenas</code> build tag. +</p> + +<p><!-- CL 422634 --> + 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%. +</p> + +<p><!-- CL 417558, https://go.dev/issue/53892 --> + The garbage collector behaves less erratically with respect to goroutine + assists in some circumstances. </p> <h2 id="compiler">Compiler</h2> @@ -983,15 +1002,43 @@ proxyHandler := &httputil.ReverseProxy{ <dl id="runtime/metrics"><dt><a href="/pkg/runtime/metrics/">runtime/metrics</a></dt> <dd> - <p><!-- https://go.dev/issue/47216 --> + <p><!-- https://go.dev/issue/47216, https://go.dev/issue/49881 --> Go 1.20 adds new <a href="/pkg/runtime/metrics/#hdr-Supported_metrics">supported metrics</a>, including the current <code>GOMAXPROCS</code> setting (<code>/sched/gomaxprocs:threads</code>), the number of cgo calls executed (<code>/cgo/go-to-c-calls:calls</code>), - and various measures of time spent in garbage collection. + total mutex block time (<code>/sync/mutex/wait/total</code>), and various measures of time + spent in garbage collection. + </p> + + <p><!-- CL 427615 --> + Time-based histogram metrics are now less precise, but take up much less memory. </p> </dd> </dl><!-- runtime/metrics --> +<dl id="runtime/pprof"><dt><a href="/pkg/runtime/pprof/">runtime/pprof</a></dt> + <dd> + <p><!-- CL 443056 --> + 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. + </p> + + <p><!-- CL 416975 --> + Profiles collected on Windows now include memory mapping information that fixes + symbolization issues for position-independent binaries. + </p> + </dd> +</dl><!-- runtime/pprof --> + +<dl id="runtime/trace"><dt><a href="/pkg/runtime/trace/">runtime/trace</a></dt> + <dd> + <p><!-- CL 447135, https://go.dev/issue/55022 --> + The garbage collector's background sweeper now yields less frequently, + resulting in many fewer extraneous events in execution traces. + </p> + </dd> +</dl><!-- runtime/trace --> + <dl id="strings"><dt><a href="/pkg/strings/">strings</a></dt> <dd> <p><!-- CL 407176, https://go.dev/issue/42537 --> |