Rémy Oudompheng
061061e77c
cmd/6g: restore magic multiply for /=, %=.
...
Also enables turning /= 2 in a right shift.
Part of issue 2230.
R=rsc
CC=golang-dev, remy
https://golang.org/cl/6012049
2012-04-13 10:12:31 +02:00
Jongmin Kim
08f919f462
doc/effective_go.html: fixed the Request channel parameter
...
R=golang-dev, r
CC=golang-dev, gri
https://golang.org/cl/6010051
2012-04-13 15:22:40 +10:00
Gustavo Niemeyer
e4389c1d30
time: panic if UnixNano is out of range
...
R=golang-dev, remyoudompheng, dsymonds, gustavo, dchest, r, rsc
CC=golang-dev
https://golang.org/cl/5985059
2012-04-12 22:16:31 -03:00
Rob Pike
a662d3d9a7
fmt: fix crash of %b on huge negative int64
...
The buffer had 64 bytes but needs one more for the sign.
Fixes #3510 .
R=golang-dev, dave, dsymonds
CC=golang-dev
https://golang.org/cl/6011057
2012-04-13 09:28:37 +10:00
Adam Langley
e6e8b72377
crypto/tls: don't always use the default private key.
...
When SNI based certificate selection is enabled, we previously used
the default private key even if we selected a non-default certificate.
Fixes #3367 .
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5987058
2012-04-12 12:35:21 -04:00
Adam Langley
55af51d5c0
encoding/pem: ignore spaces and tabs at the end of header lines.
...
Fixes #3502 .
R=bradfitz
CC=golang-dev
https://golang.org/cl/6011046
2012-04-12 12:33:52 -04:00
Dmitriy Vyukov
4945fc8e40
runtime: speedup GC sweep phase (batch free)
...
benchmark old ns/op new ns/op delta
garbage.BenchmarkParser 4370050250 3779668750 -13.51%
garbage.BenchmarkParser-2 3713087000 3628771500 -2.27%
garbage.BenchmarkParser-4 3519755250 3406349750 -3.22%
garbage.BenchmarkParser-8 3386627750 3319144000 -1.99%
garbage.BenchmarkTree 493585529 408102411 -17.32%
garbage.BenchmarkTree-2 500487176 402285176 -19.62%
garbage.BenchmarkTree-4 473238882 361484058 -23.61%
garbage.BenchmarkTree-8 486977823 368334823 -24.36%
garbage.BenchmarkTree2 31446600 31203200 -0.77%
garbage.BenchmarkTree2-2 21469000 21077900 -1.82%
garbage.BenchmarkTree2-4 11007600 10899100 -0.99%
garbage.BenchmarkTree2-8 7692400 7032600 -8.58%
garbage.BenchmarkParserPause 241863263 163249450 -32.50%
garbage.BenchmarkParserPause-2 120135418 112981575 -5.95%
garbage.BenchmarkParserPause-4 83411552 64580700 -22.58%
garbage.BenchmarkParserPause-8 51870697 42207244 -18.63%
garbage.BenchmarkTreePause 20940474 13147011 -37.22%
garbage.BenchmarkTreePause-2 20115124 11146715 -44.59%
garbage.BenchmarkTreePause-4 17217584 7486327 -56.52%
garbage.BenchmarkTreePause-8 18258845 7400871 -59.47%
garbage.BenchmarkTree2Pause 174067190 172674190 -0.80%
garbage.BenchmarkTree2Pause-2 131175809 130615761 -0.43%
garbage.BenchmarkTree2Pause-4 95406666 93972047 -1.50%
garbage.BenchmarkTree2Pause-8 86056095 85334952 -0.84%
garbage.BenchmarkParserLastPause 329932000 324790000 -1.56%
garbage.BenchmarkParserLastPause-2 209383000 210456000 +0.51%
garbage.BenchmarkParserLastPause-4 113981000 112921000 -0.93%
garbage.BenchmarkParserLastPause-8 77967000 76625000 -1.72%
garbage.BenchmarkTreeLastPause 29752000 18444000 -38.01%
garbage.BenchmarkTreeLastPause-2 24274000 14766000 -39.17%
garbage.BenchmarkTreeLastPause-4 19565000 8726000 -55.40%
garbage.BenchmarkTreeLastPause-8 21956000 10530000 -52.04%
garbage.BenchmarkTree2LastPause 314411000 311945000 -0.78%
garbage.BenchmarkTree2LastPause-2 214641000 210836000 -1.77%
garbage.BenchmarkTree2LastPause-4 110024000 108943000 -0.98%
garbage.BenchmarkTree2LastPause-8 76873000 70263000 -8.60%
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5991049
2012-04-12 12:01:24 +04:00
Dmitriy Vyukov
a5dc7793c0
runtime: add lock-free stack
...
This is factored out part of the:
https://golang.org/cl/5279048/
(parallel GC)
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5993043
2012-04-12 11:49:25 +04:00
Rob Pike
2d0d3d8f9e
text/template: catch unexported fields during parse
...
It's a common error to reference unexported field names in templates,
especially for newcomers. This catches the error at parse time rather than
execute time so the rare few who check errors will notice right away.
These were always an error, so the net behavior is unchanged.
Should break no existing code, just identify the error earlier.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6009048
2012-04-12 15:57:09 +10:00
David Symonds
e6c5e2a363
misc/dashboard: cope with removed Package fields.
...
adg removed some now-unwanted fields in Package a while ago,
but there are still datastore entities with those fields,
so we must explicitly check for ErrFieldMismatch and ignore it.
R=golang-dev, rsc
CC=adg, golang-dev
https://golang.org/cl/6007043
2012-04-12 09:55:37 +10:00
Nigel Tao
6277656d69
html, exp/html: escape ' and " as ' and ", since IE8 and
...
below do not support '.
This makes package html consistent with package text/template's
HTMLEscape function.
Fixes #3489 .
R=rsc, mikesamuel, dsymonds
CC=golang-dev
https://golang.org/cl/5992071
2012-04-12 09:35:43 +10:00
Adam Langley
772e8ff458
crypto/rsa: fix Verify for multi-prime keys.
...
The least common multiple is not totient/gcd.
R=remyoudompheng
CC=golang-dev
https://golang.org/cl/5990045
2012-04-11 12:57:38 -04:00
Adam Langley
7247dcab92
crypto/tls: update how we create testing scripts.
...
crypto/tls is tested, in part, by replaying recorded TLS connections
and checking that the bytes sent by the Go code haven't changed.
Previously we used GnuTLS's debug output and extracted the bytes of
the TLS connection using a Python script. That wasn't great, and I
think GnuTLS removed that level of debugging in a more current
release.
This change records the connection with Go code and adds a test for
ECDHE-AES clients generating using this method.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5988048
2012-04-11 12:55:57 -04:00
Marcel van Lohuizen
98aa4968b7
exp/norm: exposed runeInfo type in API.
...
For completeness, we also expose the Canonical Combining Class of a rune.
This does not increase the data size.
R=r
CC=golang-dev
https://golang.org/cl/5931043
2012-04-11 16:47:53 +02:00
Dave Cheney
d8e9b04ca6
runtime: add interface microbenchmarks
...
2011 Mac Mini, Core i5 @ 2.3Ghz
BenchmarkConvT2E 50000000 40.4 ns/op
BenchmarkConvT2EBig 20000000 107 ns/op
BenchmarkConvT2I 100000000 28.9 ns/op
BenchmarkConvI2E 500000000 5.93 ns/op
BenchmarkConvI2I 100000000 19.0 ns/op
BenchmarkAssertE2T 100000000 14.1 ns/op
BenchmarkAssertE2TBig 100000000 17.8 ns/op
BenchmarkAssertE2I 100000000 21.3 ns/op
BenchmarkAssertI2T 100000000 14.3 ns/op
BenchmarkAssertI2I 100000000 20.8 ns/op
BenchmarkAssertI2E 500000000 5.58 ns/op
Pandaboard, 2 x Omap4 @ 1.2Ghz
BenchmarkConvT2E 10000000 215 ns/op
BenchmarkConvT2EBig 1000000 3697 ns/op
BenchmarkConvT2I 5000000 666 ns/op
BenchmarkConvI2E 50000000 42.4 ns/op
BenchmarkConvI2I 5000000 489 ns/op
BenchmarkAssertE2T 20000000 90.0 ns/op
BenchmarkAssertE2TBig 20000000 91.6 ns/op
BenchmarkAssertE2I 5000000 515 ns/op
BenchmarkAssertI2T 20000000 124 ns/op
BenchmarkAssertI2I 5000000 517 ns/op
BenchmarkAssertI2E 50000000 47.2 ns/op
BenchmarkAssertE2E 50000000 42.7 ns/op
R=minux.ma, rsc, fullung, bsiegert, dsymonds
CC=golang-dev
https://golang.org/cl/5777048
2012-04-11 22:45:44 +10:00
Joel Sing
8cea1bf102
runtime: update openbsd thread related syscalls to match kernel
...
Update the threxit and thrsleep syscalls to match the ABI of the
OpenBSD 5.1 kernel. These changes are backwards compatible with
older kernels.
Fixes #3311 .
R=golang-dev, rsc, devon.odell
CC=golang-dev
https://golang.org/cl/5777079
2012-04-11 22:02:08 +10:00
Dave Cheney
d7bc644ba2
doc: fix minor typo in Go 1 release notes
...
Fixes #3478 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5986074
2012-04-11 10:59:03 +10:00
Shenghou Ma
1a59e6239c
5l, runtime: remove softfloat emulation code when not used
...
This leads to ~30kB improvement on code size for ARM machines with VFP/NEON.
Example: go test -c math
GOARM=5 GOARM=6
Old: 1884200 1839144
New: 1884165 1805245
-: 35 33899
R=rsc, bradfitz, dave, kai.backman
CC=golang-dev
https://golang.org/cl/5975060
2012-04-11 04:11:27 +08:00
Shenghou Ma
2031252fb8
5a, 5l: add PLD (preload data) instruction
...
Supported in ARMv5TE and above, excluding ARMv5TExP.
For CL 5990066.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5999044
2012-04-11 04:09:04 +08:00
Pascal S. de Kloe
9feddd0bae
hash: more efficient memory allocation
...
Feed append the complete content at once.
BenchmarkAdler32KB 1000000 2534 ns/op 404.05 MB/s
BenchmarkCrc32KB 500000 4757 ns/op 215.26 MB/s
BenchmarkCrc64KB 500000 4769 ns/op 214.70 MB/s
BenchmarkFnv32KB 1000000 2417 ns/op 423.64 MB/s
BenchmarkFnv32aKB 1000000 2408 ns/op 425.23 MB/s
BenchmarkFnv64KB 500000 4262 ns/op 240.21 MB/s
BenchmarkFnv64aKB 500000 4234 ns/op 241.83 MB/s
R=iant, rsc, r, minux.ma
CC=golang-dev
https://golang.org/cl/5937053
2012-04-10 15:15:39 -04:00
Akshat Kumar
7056ec6bfd
runtime: fix floating point exception on Plan 9
...
Change 5660047 moved an FLDCW instruction
that disables invalid operand traps into
runtime·asminit, which is called from
runtime·mstart. Thus, runtime·check is being
called prior to setting the appropriate control bits,
which on any QNaN comparison will cause Plan 9
to take an invalid operand trap. This change loads
the control bits (for Plan 9) prior to runtime·check.
Ideally, this should be done before the QNaN checks
on any system, but possibly other kernels simply
don't ever trap on invalid operands.
R=golang-dev, rminnich
CC=golang-dev, john, rsc
https://golang.org/cl/5939045
2012-04-10 15:14:10 -04:00
Russ Cox
c9ad57ff2c
A+C: Akshat Kumar (individual CLA)
...
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6004043
2012-04-10 15:14:04 -04:00
Quan Yong Zhai
e133ee9538
runtime: unregister the SIGILL handler after ARM EABI test
...
Part of issue 3381
R=rsc, minux.ma, dave
CC=golang-dev
https://golang.org/cl/5969064
2012-04-10 15:05:22 -04:00
Russ Cox
e530d6a1e0
6c, 6g, 6l: add MOVQL to make truncation explicit
...
Without an explicit signal for a truncation, copy propagation
will sometimes propagate a 32-bit truncation and end up
overwriting uses of the original 64-bit value.
The case that arose in practice is in C but I believe
that the same could plausibly happen in Go.
The main reason we didn't run into the same in Go
is that I (perhaps incorrectly?) drop MOVL AX, AX
during gins, so the truncation was never generated, so
it didn't confuse the optimizer.
Fixes #1315 .
Fixes #3488 .
R=ken2
CC=golang-dev
https://golang.org/cl/6002043
2012-04-10 12:51:59 -04:00
Russ Cox
b72c7e943c
cmd/6c: fix probable code gen bug
...
This is a pointer being copied; MOVL can't possibly be right.
R=ken2
CC=golang-dev
https://golang.org/cl/5999043
2012-04-10 12:51:36 -04:00
Russ Cox
30bc5d7bbd
cmd/8c: fix store to complex uint64 ptr
...
Assignment of a computed uint64 value to an
address derived with a function call was executing
the call after computing the value, which trashed
the value (held in registers).
long long *f(void) { return 0; }
void g(int x, int y) {
*f() = (long long)x | (long long)y<<32;
}
Before:
(x.c:3) TEXT g+0(SB),(gok(71))
...
(x.c:4) ORL AX,DX
(x.c:4) ORL CX,BX
(x.c:4) CALL ,f+0(SB)
(x.c:4) MOVL DX,(AX)
(x.c:4) MOVL BX,4(AX)
After:
(x.c:3) TEXT g+0(SB),(gok(71))
(x.c:4) CALL ,f+0(SB)
...
(x.c:4) ORL CX,BX
(x.c:4) ORL DX,BP
(x.c:4) MOVL BX,(AX)
(x.c:4) MOVL BP,4(AX)
Fixes #3501 .
R=ken2
CC=golang-dev
https://golang.org/cl/5998043
2012-04-10 10:45:58 -04:00
Shenghou Ma
ae382129f1
syscall: support Getpid() on Windows
...
Fixes #3379 .
R=golang-dev, alex.brainman, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/5909043
2012-04-10 22:34:31 +08:00
Shenghou Ma
edf8b03fef
cmd/api: allow addition of API
...
R=bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5991081
2012-04-10 22:12:09 +08:00
Russ Cox
3d462449f6
8a, 8l: add PREFETCH instructions
...
R=ken2
CC=golang-dev
https://golang.org/cl/5992082
2012-04-10 10:09:27 -04:00
Russ Cox
35d260fa4c
6a, 6l: add PREFETCH instructions
...
R=ken2
CC=golang-dev
https://golang.org/cl/5989073
2012-04-10 10:09:09 -04:00
Joel Sing
098b9dcf2f
runtime: block signals during thread creation on openbsd
...
Block signals during thread creation, otherwise the new thread can
receive a signal prior to initialisation completing.
Fixes #3102 .
R=golang-dev, rsc, devon.odell, minux.ma
CC=golang-dev
https://golang.org/cl/5757064
2012-04-10 21:57:05 +10:00
Rob Pike
caedc603d4
test/bench/shootout: update timing.log to Go 1
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5989063
2012-04-10 16:46:06 +10:00
Alex Brainman
8e109af83b
os: fix IsPermission on windows
...
Fixes #3482 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5987070
2012-04-10 10:07:29 +10:00
Rob Pike
6849c4db0c
runtime.Callers: make documentation match code
...
It is a bug that Caller and Callers disagree about the offset of the skip
parameter. Document the bug.
R=rsc, dsymonds, r, iant
CC=golang-dev
https://golang.org/cl/5976064
2012-04-10 09:47:57 +10:00
Alexey Borzenkov
0669261af1
cmd/dist: don't fail when Mercurial is a batch file on Windows
...
On windows Mercurial installed with easy_install typically creates
an hg.bat batch file in Python Scripts directory, which cannot be used
with CreateProcess unless full path is specified. Work around by
launching hg via cmd.exe /c.
Additionally, fix a rare FormatMessageW crash.
Fixes #3093 .
R=golang-dev, rsc, alex.brainman, aram, jdpoirier, mattn.jp
CC=golang-dev
https://golang.org/cl/5937043
2012-04-09 15:39:59 -04:00
Benny Siegert
f6d582db61
cmd/yacc: spring cleaning for units.y
...
* sort imports
* use runtime.GOROOT
* fix some typos
R=golang-dev, dave, rsc
CC=golang-dev
https://golang.org/cl/5987054
2012-04-09 15:04:59 -04:00
Brad Fitzpatrick
494fe3b08f
debug/gosym: in test, use temp binary name in /tmp, and clean up.
...
This fixes all.bash on shared machines.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5992078
2012-04-09 11:19:52 -07:00
Shenghou Ma
25e02d519d
doc/code: update newmath.Sqrt test case to make sure test succeed
...
Fixes #3445 .
R=golang-dev, rsc, mtj
CC=golang-dev
https://golang.org/cl/5975061
2012-04-10 01:55:51 +08:00
Shenghou Ma
9bc8dd3985
doc/go_spec: fix a typo
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5989065
2012-04-10 01:50:46 +08:00
Shenghou Ma
149983f136
build: run.bash no longer accepts --no-banner
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5986063
2012-04-10 01:49:49 +08:00
Dmitriy Vyukov
342658bbb6
runtime: preparation for parallel GC
...
make MHeap.allspans an array instead on a linked-list,
it's required for parallel for
benchmark old ns/op new ns/op delta
garbage.BenchmarkTree 494435529 487962705 -1.31%
garbage.BenchmarkTree-2 499652705 485358000 -2.86%
garbage.BenchmarkTree-4 468482117 454093117 -3.07%
garbage.BenchmarkTree-8 488533235 471872470 -3.41%
garbage.BenchmarkTree-16 507835176 492558470 -3.01%
garbage.BenchmarkTree2 31453900 31404300 -0.16%
garbage.BenchmarkTree2-2 21440600 21477000 +0.17%
garbage.BenchmarkTree2-4 10982000 11117400 +1.23%
garbage.BenchmarkTree2-8 7544700 7456700 -1.17%
garbage.BenchmarkTree2-16 7049500 6805700 -3.46%
garbage.BenchmarkParser 4448988000 4453264000 +0.10%
garbage.BenchmarkParser-2 4086045000 4057948000 -0.69%
garbage.BenchmarkParser-4 3677365000 3661246000 -0.44%
garbage.BenchmarkParser-8 3517253000 3540190000 +0.65%
garbage.BenchmarkParser-16 3506562000 3463478000 -1.23%
garbage.BenchmarkTreePause 20969784 21100238 +0.62%
garbage.BenchmarkTreePause-2 20215875 20139572 -0.38%
garbage.BenchmarkTreePause-4 17240709 16683624 -3.23%
garbage.BenchmarkTreePause-8 18196386 17639306 -3.06%
garbage.BenchmarkTreePause-16 20621158 20215056 -1.97%
garbage.BenchmarkTree2Pause 173992142 173872380 -0.07%
garbage.BenchmarkTree2Pause-2 131281904 131366666 +0.06%
garbage.BenchmarkTree2Pause-4 93484952 95109619 +1.74%
garbage.BenchmarkTree2Pause-8 88950523 86533333 -2.72%
garbage.BenchmarkTree2Pause-16 86071238 84089190 -2.30%
garbage.BenchmarkParserPause 135815000 135255952 -0.41%
garbage.BenchmarkParserPause-2 92691523 91451428 -1.34%
garbage.BenchmarkParserPause-4 53392190 51611904 -3.33%
garbage.BenchmarkParserPause-8 36059523 35116666 -2.61%
garbage.BenchmarkParserPause-16 30174300 27340600 -9.39%
garbage.BenchmarkTreeLastPause 28420000 29142000 +2.54%
garbage.BenchmarkTreeLastPause-2 23514000 26779000 +13.89%
garbage.BenchmarkTreeLastPause-4 21773000 18660000 -14.30%
garbage.BenchmarkTreeLastPause-8 24072000 21276000 -11.62%
garbage.BenchmarkTreeLastPause-16 25149000 28541000 +13.49%
garbage.BenchmarkTree2LastPause 314491000 313982000 -0.16%
garbage.BenchmarkTree2LastPause-2 214363000 214715000 +0.16%
garbage.BenchmarkTree2LastPause-4 109778000 111115000 +1.22%
garbage.BenchmarkTree2LastPause-8 75390000 74522000 -1.15%
garbage.BenchmarkTree2LastPause-16 70333000 67880000 -3.49%
garbage.BenchmarkParserLastPause 327247000 326815000 -0.13%
garbage.BenchmarkParserLastPause-2 217039000 212529000 -2.08%
garbage.BenchmarkParserLastPause-4 119722000 111535000 -6.84%
garbage.BenchmarkParserLastPause-8 70806000 69613000 -1.68%
garbage.BenchmarkParserLastPause-16 62813000 48009000 -23.57%
R=rsc, r
CC=golang-dev
https://golang.org/cl/5992055
2012-04-09 13:05:43 +04:00
Dmitriy Vyukov
f09e63a2a0
runtime: add memory prefetching to GC
...
benchmark old ns/op new ns/op delta
garbage.BenchmarkParser 4448988000 4370531000 -1.76%
garbage.BenchmarkParser-2 4086045000 4023083000 -1.54%
garbage.BenchmarkParser-4 3677365000 3667020000 -0.28%
garbage.BenchmarkParser-8 3517253000 3543946000 +0.76%
garbage.BenchmarkParser-16 3506562000 3512518000 +0.17%
garbage.BenchmarkTree 494435529 505784058 +2.30%
garbage.BenchmarkTree-2 499652705 502774823 +0.62%
garbage.BenchmarkTree-4 468482117 465713352 -0.59%
garbage.BenchmarkTree-8 488533235 482287000 -1.28%
garbage.BenchmarkTree-16 507835176 500654882 -1.41%
garbage.BenchmarkTree2 31453900 28804600 -8.42%
garbage.BenchmarkTree2-2 21440600 19065800 -11.08%
garbage.BenchmarkTree2-4 10982000 10009100 -8.86%
garbage.BenchmarkTree2-8 7544700 6479800 -14.11%
garbage.BenchmarkTree2-16 7049500 6163200 -12.57%
garbage.BenchmarkParserPause 135815000 125360666 -7.70%
garbage.BenchmarkParserPause-2 92691523 84365476 -8.98%
garbage.BenchmarkParserPause-4 53392190 46995809 -11.98%
garbage.BenchmarkParserPause-8 36059523 30998900 -14.03%
garbage.BenchmarkParserPause-16 30174300 27613350 -8.49%
garbage.BenchmarkTreePause 20969784 22568102 +7.62%
garbage.BenchmarkTreePause-2 20215875 20975130 +3.76%
garbage.BenchmarkTreePause-4 17240709 17180666 -0.35%
garbage.BenchmarkTreePause-8 18196386 18205870 +0.05%
garbage.BenchmarkTreePause-16 20621158 20486867 -0.65%
garbage.BenchmarkTree2Pause 173992142 159995285 -8.04%
garbage.BenchmarkTree2Pause-2 131281904 118013714 -10.11%
garbage.BenchmarkTree2Pause-4 93484952 85092666 -8.98%
garbage.BenchmarkTree2Pause-8 88950523 77340809 -13.05%
garbage.BenchmarkTree2Pause-16 86071238 76557952 -11.05%
garbage.BenchmarkParserLastPause 327247000 288205000 -11.93%
garbage.BenchmarkParserLastPause-2 217039000 187336000 -13.69%
garbage.BenchmarkParserLastPause-4 119722000 105069000 -12.24%
garbage.BenchmarkParserLastPause-8 70806000 64755000 -8.55%
garbage.BenchmarkParserLastPause-16 62813000 53486000 -14.85%
garbage.BenchmarkTreeLastPause 28420000 29735000 +4.63%
garbage.BenchmarkTreeLastPause-2 23514000 25427000 +8.14%
garbage.BenchmarkTreeLastPause-4 21773000 19548000 -10.22%
garbage.BenchmarkTreeLastPause-8 24072000 24046000 -0.11%
garbage.BenchmarkTreeLastPause-16 25149000 25291000 +0.56%
garbage.BenchmarkTree2LastPause 314491000 287988000 -8.43%
garbage.BenchmarkTree2LastPause-2 214363000 190616000 -11.08%
garbage.BenchmarkTree2LastPause-4 109778000 100052000 -8.86%
garbage.BenchmarkTree2LastPause-8 75390000 64753000 -14.11%
garbage.BenchmarkTree2LastPause-16 70333000 61484000 -12.58%
FTR, below are result with the empty prefetch function,
that is, single RET but no real prefetching.
It suggests that inlinable PREFETCH is worth pursuing.
benchmark old ns/op new ns/op delta
garbage.BenchmarkParser 4448988000 4560488000 +2.51%
garbage.BenchmarkParser-2 4086045000 4129728000 +1.07%
garbage.BenchmarkParser-4 3677365000 3728672000 +1.40%
garbage.BenchmarkParser-8 3517253000 3583968000 +1.90%
garbage.BenchmarkParser-16 3506562000 3591414000 +2.42%
garbage.BenchmarkTree 494435529 499580882 +1.04%
garbage.BenchmarkTree-4 468482117 467387294 -0.23%
garbage.BenchmarkTree-8 488533235 478311117 -2.09%
garbage.BenchmarkTree-2 499652705 499324235 -0.07%
garbage.BenchmarkTree-16 507835176 502005705 -1.15%
garbage.BenchmarkTree2 31453900 33296800 +5.86%
garbage.BenchmarkTree2-2 21440600 22466400 +4.78%
garbage.BenchmarkTree2-4 10982000 11402700 +3.83%
garbage.BenchmarkTree2-8 7544700 7476500 -0.90%
garbage.BenchmarkTree2-16 7049500 7338200 +4.10%
garbage.BenchmarkParserPause 135815000 139529142 +2.73%
garbage.BenchmarkParserPause-2 92691523 95229190 +2.74%
garbage.BenchmarkParserPause-4 53392190 53083476 -0.58%
garbage.BenchmarkParserPause-8 36059523 34594800 -4.06%
garbage.BenchmarkParserPause-16 30174300 30063300 -0.37%
garbage.BenchmarkTreePause 20969784 21866920 +4.28%
garbage.BenchmarkTreePause-2 20215875 20731125 +2.55%
garbage.BenchmarkTreePause-4 17240709 17275837 +0.20%
garbage.BenchmarkTreePause-8 18196386 17898777 -1.64%
garbage.BenchmarkTreePause-16 20621158 20662772 +0.20%
garbage.BenchmarkTree2Pause 173992142 184336857 +5.95%
garbage.BenchmarkTree2Pause-2 131281904 138005714 +5.12%
garbage.BenchmarkTree2Pause-4 93484952 98449238 +5.31%
garbage.BenchmarkTree2Pause-8 88950523 89286095 +0.38%
garbage.BenchmarkTree2Pause-16 86071238 89568666 +4.06%
garbage.BenchmarkParserLastPause 327247000 342189000 +4.57%
garbage.BenchmarkParserLastPause-2 217039000 217224000 +0.09%
garbage.BenchmarkParserLastPause-4 119722000 121327000 +1.34%
garbage.BenchmarkParserLastPause-8 70806000 71941000 +1.60%
garbage.BenchmarkParserLastPause-16 62813000 60166000 -4.21%
garbage.BenchmarkTreeLastPause 28420000 27840000 -2.04%
garbage.BenchmarkTreeLastPause-2 23514000 27390000 +16.48%
garbage.BenchmarkTreeLastPause-4 21773000 21414000 -1.65%
garbage.BenchmarkTreeLastPause-8 24072000 21705000 -9.83%
garbage.BenchmarkTreeLastPause-16 25149000 23932000 -4.84%
garbage.BenchmarkTree2LastPause 314491000 332894000 +5.85%
garbage.BenchmarkTree2LastPause-2 214363000 224611000 +4.78%
garbage.BenchmarkTree2LastPause-4 109778000 113976000 +3.82%
garbage.BenchmarkTree2LastPause-8 75390000 67223000 -10.83%
garbage.BenchmarkTree2LastPause-16 70333000 73216000 +4.10%
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5991057
2012-04-07 17:02:44 +04:00
Bobby Powers
c9529e02c1
time: in Format give buffer an initial capacity
...
I have a small web server that simply sets several cookies
along with an expires header, and then returns. In the
cpuprofile for a 200k request benchmark, time.Time.Format()
was showing up as 8.3% of cpu usage. Giving the buffer an
inital capacity to avoid reallocs on append drops it down to
7.6%.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5992058
2012-04-07 10:51:32 +10:00
Charles L. Dorian
f27348776f
math: make function documentation more regular
...
R=rsc, golang-dev
CC=golang-dev
https://golang.org/cl/5994043
2012-04-06 14:01:12 -04:00
Benny Siegert
559c191b89
syscall: manually fix z* for NetBSD/amd64
...
Building go currently fails on NetBSD, thus the regeneration
scripts do not run correctly. With these changes, at least
the go_bootstrap tool builds correctly.
R=golang-dev, r, bradfitz
CC=golang-dev
https://golang.org/cl/5695064
2012-04-06 07:57:05 -07:00
Shenghou Ma
cf1f044251
crypto/aes: add benchmarks for decryption and key expansion
...
R=agl, rsc, fullung
CC=golang-dev
https://golang.org/cl/5972056
2012-04-06 04:19:35 +08:00
Stéphane Travostino
56024fa64e
net/url: Correctly escape URL as per RFC 3986
...
The shouldEscape function did not correctly escape the reserved characters listed in RFC 3986 §2.2, breaking some strict web servers.
Fixes #3433 .
R=rsc
CC=golang-dev
https://golang.org/cl/5970050
2012-04-05 13:23:08 -04:00
Russ Cox
81f534b216
A+C: Stéphane Travostino (individual CLA)
...
R=golang-dev
CC=golang-dev
https://golang.org/cl/5991048
2012-04-05 13:13:34 -04:00
Dmitriy Vyukov
9903d6870f
runtime: minor refactoring in preparation for parallel GC
...
factor sweepspan() out of sweep(), no logical changes
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5991047
2012-04-05 21:02:20 +04:00
Dmitriy Vyukov
d839a809b2
runtime: make GC stats per-M
...
This is factored out part of:
https://golang.org/cl/5279048/
(Parallel GC)
benchmark old ns/op new ns/op delta
garbage.BenchmarkParser 3999106750 3975026500 -0.60%
garbage.BenchmarkParser-2 3720553750 3719196500 -0.04%
garbage.BenchmarkParser-4 3502857000 3474980500 -0.80%
garbage.BenchmarkParser-8 3375448000 3341310500 -1.01%
garbage.BenchmarkParserLastPause 329401000 324097000 -1.61%
garbage.BenchmarkParserLastPause-2 208953000 214222000 +2.52%
garbage.BenchmarkParserLastPause-4 110933000 111656000 +0.65%
garbage.BenchmarkParserLastPause-8 71969000 78230000 +8.70%
garbage.BenchmarkParserPause 230808842 197237400 -14.55%
garbage.BenchmarkParserPause-2 123674365 125197595 +1.23%
garbage.BenchmarkParserPause-4 80518525 85710333 +6.45%
garbage.BenchmarkParserPause-8 58310243 56940512 -2.35%
garbage.BenchmarkTree2 31471700 31289400 -0.58%
garbage.BenchmarkTree2-2 21536800 21086300 -2.09%
garbage.BenchmarkTree2-4 11074700 10880000 -1.76%
garbage.BenchmarkTree2-8 7568600 7351400 -2.87%
garbage.BenchmarkTree2LastPause 314664000 312840000 -0.58%
garbage.BenchmarkTree2LastPause-2 215319000 210815000 -2.09%
garbage.BenchmarkTree2LastPause-4 110698000 108751000 -1.76%
garbage.BenchmarkTree2LastPause-8 75635000 73463000 -2.87%
garbage.BenchmarkTree2Pause 174280857 173147571 -0.65%
garbage.BenchmarkTree2Pause-2 131332714 129665761 -1.27%
garbage.BenchmarkTree2Pause-4 93803095 93422904 -0.41%
garbage.BenchmarkTree2Pause-8 86242333 85146761 -1.27%
R=rsc
CC=golang-dev
https://golang.org/cl/5987045
2012-04-05 20:48:28 +04:00