mirror of
https://github.com/golang/go
synced 2024-11-12 00:30:22 -07:00
doc/go1.9: GC performance release notes
Change-Id: I361587ba0ddffb5ee4a3d1bdb6219710a30da197 Reviewed-on: https://go-review.googlesource.com/45132 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
This commit is contained in:
parent
d3d5489135
commit
385ea72410
@ -152,8 +152,35 @@ type T1 = T2
|
||||
|
||||
<h3 id="gc">Garbage Collector</h3>
|
||||
|
||||
<p>
|
||||
TODO(austin): give update.
|
||||
<p> <!-- CL 37520 -->
|
||||
Library functions that used to trigger stop-the-world garbage
|
||||
collection now trigger concurrent garbage collection.
|
||||
|
||||
Specifically, <a href="/pkg/runtime/#GC"><code>runtime.GC</code></a>,
|
||||
<a href="/pkg/runtime/debug/#SetGCPercent"><code>debug.SetGCPercent</code></a>,
|
||||
and
|
||||
<a href="/pkg/runtime/debug/#FreeOSMemory"><code>debug.FreeOSMemory</code></a>,
|
||||
now trigger concurrent garbage collection, blocking only the calling
|
||||
goroutine until the garbage collection is done.
|
||||
</p>
|
||||
|
||||
<p> <!-- CL 34103, CL 39835 -->
|
||||
The
|
||||
<a href="/pkg/runtime/debug/#SetGCPercent"><code>debug.SetGCPercent</code></a>
|
||||
function only triggers a garbage collection if one is immediately
|
||||
necessary because of the new GOGC value.
|
||||
This makes it possible to adjust GOGC on-the-fly.
|
||||
</p>
|
||||
|
||||
<p> <!-- CL 38732 -->
|
||||
Large object allocation performance is significantly improved in
|
||||
applications using large (>50GB) heaps containing many large
|
||||
objects.
|
||||
</p>
|
||||
|
||||
<p> <!-- CL 34937 -->
|
||||
The <a href="/pkg/runtime/#ReadMemStats"><code>runtime.ReadMemStats</code></a>
|
||||
function now takes less than 100µs even for very large heaps.
|
||||
</p>
|
||||
|
||||
<h2 id="library">Core library</h2>
|
||||
@ -482,10 +509,6 @@ type T1 = T2
|
||||
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 34937 -->
|
||||
TODO: <a href="https://golang.org/cl/34937">https://golang.org/cl/34937</a>: make ReadMemStats STW for < 25µs
|
||||
</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>
|
||||
@ -498,10 +521,6 @@ type T1 = T2
|
||||
TODO: <a href="https://golang.org/cl/37441">https://golang.org/cl/37441</a>: make complex division c99 compatible
|
||||
</p>
|
||||
|
||||
<p><!-- CL 37520 -->
|
||||
TODO: <a href="https://golang.org/cl/37520">https://golang.org/cl/37520</a>: make runtime.GC() trigger a concurrent GC
|
||||
</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>
|
||||
@ -520,18 +539,6 @@ type T1 = T2
|
||||
|
||||
</dl><!-- runtime -->
|
||||
|
||||
<dl id="runtime/debug"><dt><a href="/pkg/runtime/debug/">runtime/debug</a></dt>
|
||||
<dd>
|
||||
<p><!-- CL 34013 -->
|
||||
TODO: <a href="https://golang.org/cl/34013">https://golang.org/cl/34013</a>: don't run a GC when setting SetGCPercent negative
|
||||
</p>
|
||||
|
||||
<p><!-- CL 39835 -->
|
||||
TODO: <a href="https://golang.org/cl/39835">https://golang.org/cl/39835</a>: don't trigger a GC on SetGCPercent
|
||||
</p>
|
||||
|
||||
</dl><!-- runtime/debug -->
|
||||
|
||||
<dl id="runtime/pprof"><dt><a href="/pkg/runtime/pprof/">runtime/pprof</a></dt>
|
||||
<dd>
|
||||
<p><!-- CL 34198 -->
|
||||
|
Loading…
Reference in New Issue
Block a user