1
0
mirror of https://github.com/golang/go synced 2024-11-12 09:20:22 -07:00
The Go programming language
Go to file
Dmitriy Vyukov 44106a0880 runtime: bump MaxGcprocs to 32
There was a number of improvements related to GC parallelization:
1. Parallel roots/stacks scanning.
2. Parallel stack shrinking.
3. Per-thread workbuf caches.
4. Workset reduction.
Currently 32 threads work well.
go.benchmarks:garbage benchmark on 2 x Intel Xeon E5-2690 (16 HT cores)

1 thread/1 processor:
time=16405255
cputime=16386223
gc-pause-one=546793975
gc-pause-total=3280763

2 threads/1 processor:
time=9043497
cputime=18075822
gc-pause-one=331116489
gc-pause-total=2152257

4 threads/1 processor:
time=4882030
cputime=19421337
gc-pause-one=174543105
gc-pause-total=1134530

8 threads/1 processor:
time=4134757
cputime=20097075
gc-pause-one=158680588
gc-pause-total=1015555

16 threads/1 processor + HT:
time=2006706
cputime=31960509
gc-pause-one=75425744
gc-pause-total=460097

16 threads/2 processors:
time=1513373
cputime=23805571
gc-pause-one=56630946
gc-pause-total=345448

32 threads/2 processors + HT:
time=1199312
cputime=37592764
gc-pause-one=48945064
gc-pause-total=278986

LGTM=rlh
R=golang-codereviews, tracey.brendan, rlh
CC=golang-codereviews, khr, rsc
https://golang.org/cl/123920043
2014-08-08 20:52:11 +04:00
api undo CL 102610045 / 7244ce3ae9db 2014-07-30 09:47:39 +09:00
doc doc: add note about crypto/tls cert selection callback. 2014-08-07 14:22:15 -07:00
include liblink, cmd/dist, cmd/5l: introduce %^ and move C_* constants. 2014-08-06 00:31:22 -04:00
lib codereview: do not hit upload_complete on first patch 2014-08-06 16:12:24 -04:00
misc misc/nacl/testzip.proto: include cmd/internal/* to fix build 2014-08-07 21:48:34 -04:00
src runtime: bump MaxGcprocs to 32 2014-08-08 20:52:11 +04:00
test test/mapnan.go: add regression test for non-empty interfaces. 2014-08-06 17:02:55 -04:00
.hgignore lib9: enable on Plan 9 2014-02-13 20:06:41 +01:00
.hgtags tag go1.3 2014-06-19 11:21:35 +10:00
AUTHORS A+C: Derek Parker (individual CLA) 2014-08-06 12:10:00 -07:00
CONTRIBUTORS C: add Paul Nasrat (Google CLA) 2014-08-07 11:21:32 +10:00
favicon.ico
LICENSE
PATENTS
README README: Fix installation instructions 2013-11-20 13:47:37 -08:00
robots.txt

This is the source code repository for the Go programming language.  

For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install-source.html
in your web browser.

After installing Go, you can view a nicely formatted
doc/install-source.html by running godoc --http=:6060
and then visiting http://localhost:6060/doc/install/source.

Unless otherwise noted, the Go source files are distributed
under the BSD-style license found in the LICENSE file.

--

Binary Distribution Notes

If you have just untarred a binary Go distribution, you need to set
the environment variable $GOROOT to the full path of the go
directory (the one containing this README).  You can omit the
variable if you unpack it into /usr/local/go, or if you rebuild
from sources by running all.bash (see doc/install.html).
You should also add the Go binary directory $GOROOT/bin
to your shell's path.

For example, if you extracted the tar file into $HOME/go, you might
put the following in your .profile:

    export GOROOT=$HOME/go
    export PATH=$PATH:$GOROOT/bin

See doc/install.html for more details.