• Russ Cox's avatar
    cmd/internal/gc: inline runtime.getg · 92c826b1
    Russ Cox authored
    This more closely restores what the old C runtime did.
    (In C, g was an 'extern register' with the same effective
    implementation as in this CL.)
    
    On a late 2012 MacBookPro10,2, best of 5 old vs best of 5 new:
    
    benchmark                          old ns/op      new ns/op      delta
    BenchmarkBinaryTree17              4981312777     4463426605     -10.40%
    BenchmarkFannkuch11                3046495712     3006819428     -1.30%
    BenchmarkFmtFprintfEmpty           89.3           79.8           -10.64%
    BenchmarkFmtFprintfString          284            262            -7.75%
    BenchmarkFmtFprintfInt             282            262            -7.09%
    BenchmarkFmtFprintfIntInt          480            448            -6.67%
    BenchmarkFmtFprintfPrefixedInt     382            358            -6.28%
    BenchmarkFmtFprintfFloat           529            486            -8.13%
    BenchmarkFmtManyArgs               1849           1773           -4.11%
    BenchmarkGobDecode                 12835963       117...
    92c826b1
asm_arm.s 23.9 KB