• Josh Bleecher Snyder's avatar
    cmd/compile: avoid calling unnecessary Sym format routine · ccaa8e3c
    Josh Bleecher Snyder authored
    Minor cleanup only.
    
    No reason to go through String() when it is
    just as easy to do a direct string comparison.
    
    Eliminates a surprising number of allocations.
    
    name       old alloc/op    new alloc/op    delta
    Template      40.9MB ± 0%     40.9MB ± 0%    ~     (p=0.190 n=10+10)
    Unicode       30.3MB ± 0%     30.3MB ± 0%    ~     (p=0.218 n=10+10)
    GoTypes        116MB ± 0%      116MB ± 0%  -0.09%  (p=0.000 n=10+10)
    SSA            871MB ± 0%      869MB ± 0%  -0.14%  (p=0.000 n=10+9)
    Flate         26.2MB ± 0%     26.2MB ± 0%  -0.15%  (p=0.002 n=10+10)
    GoParser      32.5MB ± 0%     32.5MB ± 0%    ~     (p=0.165 n=10+10)
    Reflect       80.5MB ± 0%     80.4MB ± 0%  -0.12%  (p=0.003 n=9+10)
    Tar           27.3MB ± 0%     27.3MB ± 0%  -0.13%  (p=0.008 n=10+9)
    XML           43.1MB ± 0%     43.1MB ± 0%    ~     (p=0.218 n=10+10)
    
    name       old allocs/op   new allocs/op   delta
    Template        402k ± 1%       400k ± 1%  -0.64%  (p=0.002 n=10+10)
    Unicode         322k ± 1%       321k ± 1%    ~     (p=0.075 n=10+10)
    GoTypes        1.19M ± 0%      1.18M ± 0%  -0.90%  (p=0.000 n=10+10)
    SSA            7.94M ± 0%      7.81M ± 0%  -1.66%  (p=0.000 n=10+9)
    Flate           246k ± 0%       242k ± 1%  -1.42%  (p=0.000 n=10+10)
    GoParser        325k ± 1%       323k ± 1%  -0.84%  (p=0.000 n=10+10)
    Reflect        1.02M ± 0%      1.01M ± 0%  -0.99%  (p=0.000 n=10+10)
    Tar             259k ± 0%       257k ± 1%  -0.72%  (p=0.009 n=10+10)
    XML             406k ± 1%       403k ± 1%  -0.69%  (p=0.001 n=10+10)
    
    Change-Id: Ia129a4cd272027d627e1f3b27e9f07f93e3aa27e
    Reviewed-on: https://go-review.googlesource.com/38230Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
    ccaa8e3c
ssa.go 151 KB