• Nigel Tao's avatar
    cmd/gc: inline convT2E when T is uintptr-shaped. · 8f84328f
    Nigel Tao authored
    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
    8f84328f
Name
Last commit
Last update
..
Makefile Loading commit data...
align.c Loading commit data...
bisonerrors Loading commit data...
bits.c Loading commit data...
builtin.c Loading commit data...
closure.c Loading commit data...
const.c Loading commit data...
cplx.c Loading commit data...
dcl.c Loading commit data...
doc.go Loading commit data...
esc.c Loading commit data...
export.c Loading commit data...
fmt.c Loading commit data...
gen.c Loading commit data...
go.errors Loading commit data...
go.h Loading commit data...
go.y Loading commit data...
init.c Loading commit data...
inl.c Loading commit data...
lex.c Loading commit data...
md5.c Loading commit data...
md5.h Loading commit data...
mkbuiltin Loading commit data...
mkbuiltin1.c Loading commit data...
mkopnames Loading commit data...
mparith1.c Loading commit data...
mparith2.c Loading commit data...
mparith3.c Loading commit data...
obj.c Loading commit data...
order.c Loading commit data...
pgen.c Loading commit data...
range.c Loading commit data...
reflect.c Loading commit data...
runtime.go Loading commit data...
select.c Loading commit data...
sinit.c Loading commit data...
subr.c Loading commit data...
swt.c Loading commit data...
typecheck.c Loading commit data...
unsafe.c Loading commit data...
unsafe.go Loading commit data...
walk.c Loading commit data...
y.tab.c Loading commit data...
y.tab.h Loading commit data...
yerr.h Loading commit data...