summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMichael Anthony Knyszek <mknyszek@google.com>2022-11-29 21:23:40 +0000
committerGopher Robot <gobot@golang.org>2022-11-30 19:32:42 +0000
commit85ce1fd97f6d187e3e2af05440065b0561eff363 (patch)
tree1acc8c196b7314cc0e78b6a0261e55c4892adb77 /doc
parent648f3febf54465162e095da99149de7a839576c6 (diff)
downloadgo-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.html55
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 -->