From: Austin Clements Date: Thu, 8 Jun 2017 17:35:58 +0000 (-0400) Subject: doc/go1.9: runtime release notes X-Git-Tag: go1.9beta1~57 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=25a3dd3f459bc48dcdb87e6ca48a61fb0b775164;p=gostls13.git 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 Reviewed-by: Brad Fitzpatrick Reviewed-by: Rick Hudson --- 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 GO19CONCURRENTCOMPILATION to 0.

+

Compiler Toolchain

+ +

+ Complex division is now C99-compatible. This has always been the + case in gccgo and is now fixed in the gc toolchain. +

+

Go test

@@ -128,7 +135,6 @@ type T1 = T2 -

Performance

@@ -505,36 +511,30 @@ type T1 = T2
runtime
-

- TODO: https://golang.org/cl/29341: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD -

- -

- TODO: https://golang.org/cl/35710: make time correctly update on Wine -

- -

- TODO: https://golang.org/cl/37233: use inlining tables to generate accurate tracebacks -

- -

- TODO: https://golang.org/cl/37441: make complex division c99 compatible -

- -

- TODO: https://golang.org/cl/37726: strongly encourage CallersFrames with the result of Callers +

+ Tracebacks generated by the runtime and recorded in profiles are + now accurate in the presence of inlining. + To retrieve tracebacks programmatically, applications should use + runtime.CallersFrames + rather than directly iterating over the results of + runtime.Callers.

- TODO: https://golang.org/cl/38403: 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.

-

- TODO: https://golang.org/cl/40810: make sweep trace events encompass entire sweep loop +

+ On FreeBSD, GOMAXPROCS and + runtime.NumCPU + are now based on the process' CPU mask, rather than the total + number of CPUs.

- TODO: https://golang.org/cl/43641: use pselect6 for usleep on linux/amd64 and linux/arm + The runtime has preliminary support for Android O.

@@ -547,6 +547,26 @@ type T1 = T2 +
runtime/trace
+
+

+ 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. +

+ +

+ "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. +

+ +
+
sync

@@ -601,5 +621,9 @@ type T1 = T2 TODO: https://golang.org/cl/36615: add Duration.Truncate and Duration.Round

+

+ Retrieving the time and sleeping now work correctly under Wine. +

+