• Josh Bleecher Snyder's avatar
    cmd/compile: avoid allocating a Nodes for readonly method receivers · fc435895
    Josh Bleecher Snyder authored
    We were allocating a Nodes for common method calls
    that did not modify the Nodes.
    Though there is no clear wall time impact,
    this significantly reduces the number of allocations,
    so it seems worth doing.
    
    Passes toolstash -cmp.
    
    name       old alloc/op    new alloc/op    delta
    Template      59.0MB ± 0%     58.6MB ± 0%   -0.81%        (p=0.000 n=25+25)
    Unicode       41.4MB ± 0%     41.3MB ± 0%   -0.18%        (p=0.000 n=25+25)
    GoTypes        198MB ± 0%      197MB ± 0%   -0.80%        (p=0.000 n=24+25)
    Compiler       875MB ± 0%      865MB ± 0%   -1.09%        (p=0.000 n=25+25)
    
    name       old allocs/op   new allocs/op   delta
    Template        581k ± 0%       520k ± 0%  -10.42%        (p=0.000 n=25+25)
    Unicode         413k ± 0%       403k ± 0%   -2.30%        (p=0.000 n=25+25)
    GoTypes        1.78M ± 0%      1.58M ± 0%  -11.18%        (p=0.000 n=25+25)
    Compiler       7.66M ± 0%      6.47M ± 0%  -15.51%        (p=0.000 n=25+25)
    
    Change-Id: I012a9f4b333821bdf61b4f2bdff4ce5c3b5d3057
    Reviewed-on: https://go-review.googlesource.com/21056Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    fc435895
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...