Nigel Tao
|
8f84328fdc
|
cmd/gc: inline convT2E when T is uintptr-shaped.
GOARCH=amd64 benchmarks
src/pkg/runtime
benchmark old ns/op new ns/op delta
BenchmarkConvT2ESmall 10 10 +1.00%
BenchmarkConvT2EUintptr 9 0 -92.07%
BenchmarkConvT2EBig 74 74 -0.27%
BenchmarkConvT2I 27 26 -3.62%
BenchmarkConvI2E 4 4 -7.05%
BenchmarkConvI2I 20 19 -2.99%
test/bench/go1
benchmark old ns/op new ns/op delta
BenchmarkBinaryTree17 5930908000 5937260000 +0.11%
BenchmarkFannkuch11 3927057000 3933556000 +0.17%
BenchmarkGobDecode 21998090 21870620 -0.58%
BenchmarkGobEncode 12725310 12734480 +0.07%
BenchmarkGzip 567617600 567892800 +0.05%
BenchmarkGunzip 178284100 178706900 +0.24%
BenchmarkJSONEncode 87693550 86794300 -1.03%
BenchmarkJSONDecode 314212600 324115000 +3.15%
BenchmarkMandelbrot200 7016640 7073766 +0.81%
BenchmarkParse 7852100 7892085 +0.51%
BenchmarkRevcomp 1285663000 1286147000 +0.04%
BenchmarkTemplate 566823800 567606200 +0.14%
I'm not entirely sure why the JSON* numbers have changed, but
eyeballing the profile suggests that it could be spending less
and more time in runtime.{new,old}stack, so it could simply be
stack-split boundary noise.
R=rsc, dave, bsiegert, dsymonds
CC=golang-dev
https://golang.org/cl/6280049
|
2012-06-14 10:43:20 +10: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 |
|