diff options
| author | Austin Clements <austin@google.com> | 2017-06-08 13:35:58 -0400 |
|---|---|---|
| committer | Austin Clements <austin@google.com> | 2017-06-09 15:09:06 +0000 |
| commit | 25a3dd3f459bc48dcdb87e6ca48a61fb0b775164 (patch) | |
| tree | db2ae30c9a24b9ebf8c814f000895d250a36990b | |
| parent | 385ea724102f989e675ff210f360fbee085044e7 (diff) | |
| download | go-25a3dd3f459bc48dcdb87e6ca48a61fb0b775164.tar.xz | |
doc/go1.9: runtime release notes
Several of the CLs that were against the runtime are noted in other
places in the release notes, depending on where they are most
user-visible.
Change-Id: I167dc7ff17a4c5f9a5d22d5bd123aa0e99f5639e
Reviewed-on: https://go-review.googlesource.com/45137
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
| -rw-r--r-- | doc/go1.9.html | 70 |
1 files changed, 47 insertions, 23 deletions
diff --git a/doc/go1.9.html b/doc/go1.9.html index 85e0c3e1fa..60d5760314 100644 --- a/doc/go1.9.html +++ b/doc/go1.9.html @@ -106,6 +106,13 @@ type T1 = T2 environment variable <code>GO19CONCURRENTCOMPILATION</code> to <code>0</code>. </p> +<h3 id="compiler">Compiler Toolchain</h3> + +<p><!-- CL 37441 --> + Complex division is now C99-compatible. This has always been the + case in gccgo and is now fixed in the gc toolchain. +</p> + <h3 id="go-test-list">Go test</h3> <p> <!-- CL 41195 --> @@ -128,7 +135,6 @@ type T1 = T2 <!-- CL 36983: https://golang.org/cl/36983: cmd/link: write dwarf sections --> <!-- CL 40331: https://golang.org/cl/40331: cmd/link,runtime/cgo: enable PT_TLS generation on OpenBSD --> <!-- CL 38343: https://golang.org/cl/38343: cmd/pprof: use proxy from environment --> -<!-- CL 36015: https://golang.org/cl/36015: cmd/trace: Record mark assists in execution traces --> <h2 id="performance">Performance</h2> @@ -505,36 +511,30 @@ type T1 = T2 <dl id="runtime"><dt><a href="/pkg/runtime/">runtime</a></dt> <dd> - <p><!-- CL 29341 --> - TODO: <a href="https://golang.org/cl/29341">https://golang.org/cl/29341</a>: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD - </p> - - <p><!-- CL 35710 --> - TODO: <a href="https://golang.org/cl/35710">https://golang.org/cl/35710</a>: make time correctly update on Wine - </p> - - <p><!-- CL 37233 --> - TODO: <a href="https://golang.org/cl/37233">https://golang.org/cl/37233</a>: use inlining tables to generate accurate tracebacks - </p> - - <p><!-- CL 37441 --> - TODO: <a href="https://golang.org/cl/37441">https://golang.org/cl/37441</a>: make complex division c99 compatible - </p> - - <p><!-- CL 37726 --> - TODO: <a href="https://golang.org/cl/37726">https://golang.org/cl/37726</a>: strongly encourage CallersFrames with the result of Callers + <p><!-- CL 37233, CL 37726 --> + Tracebacks generated by the runtime and recorded in profiles are + now accurate in the presence of inlining. + To retrieve tracebacks programmatically, applications should use + <a href="/pkg/runtime/#CallersFrames"><code>runtime.CallersFrames</code></a> + rather than directly iterating over the results of + <a href="/pkg/runtime/#Callers"><code>runtime.Callers</code></a>. </p> <p><!-- CL 38403 --> - TODO: <a href="https://golang.org/cl/38403">https://golang.org/cl/38403</a>: reduce Windows timer resolution when idle + On Windows, Go no longer forces the system timer to run at high + resolution when the program is idle. + This should reduce the impact of Go programs on battery life. </p> - <p><!-- CL 40810 --> - TODO: <a href="https://golang.org/cl/40810">https://golang.org/cl/40810</a>: make sweep trace events encompass entire sweep loop + <p><!-- CL 29341 --> + On FreeBSD, <code>GOMAXPROCS</code> and + <a href="/pkg/runtime/#NumCPU"><code>runtime.NumCPU</code></a> + are now based on the process' CPU mask, rather than the total + number of CPUs. </p> <p><!-- CL 43641 --> - TODO: <a href="https://golang.org/cl/43641">https://golang.org/cl/43641</a>: use pselect6 for usleep on linux/amd64 and linux/arm + The runtime has preliminary support for Android O. </p> </dl><!-- runtime --> @@ -547,6 +547,26 @@ type T1 = T2 </dl><!-- runtime/pprof --> +<dl id="runtime/trace"><dt><a href="/pkg/runtime/trace/">runtime/trace</a></dt> + <dd> + <p><!-- CL 36015 --> + The execution trace now displays mark assist events, which + indicate when an application goroutine is forced to assist + garbage collection because it is allocating too quickly. + </p> + + <p><!-- CL 40810 --> + "Sweep" events now encompass the entire process of finding free + space for an allocation, rather than recording each individual + span that is swept. + This reduces allocation latency when tracing allocation-heavy + programs. + The sweep event shows how many bytes were swept and how many + were reclaimed. + </p> + +</dl><!-- runtime/trace --> + <dl id="sync"><dt><a href="/pkg/sync/">sync</a></dt> <dd> <p><!-- CL 34310 --> @@ -601,5 +621,9 @@ type T1 = T2 TODO: <a href="https://golang.org/cl/36615">https://golang.org/cl/36615</a>: add Duration.Truncate and Duration.Round </p> + <p><!-- CL 35710 --> + Retrieving the time and sleeping now work correctly under Wine. + </p> + </dl><!-- time --> |
