• Josh Bleecher Snyder's avatar
    cmd/compile: add flag to disable DWARF generation · da67c23f
    Josh Bleecher Snyder authored
    DWARF generation has non-trivial cost,
    and in some cases is not necessary.
    Provide an option to opt out.
    
    Alloc impact of disabling DWARF generation:
    
    name       old alloc/op      new alloc/op      delta
    Template        38.7MB ± 0%       37.6MB ± 0%  -2.77%  (p=0.016 n=5+4)
    Unicode         29.8MB ± 0%       29.8MB ± 0%  -0.16%  (p=0.032 n=5+5)
    GoTypes          113MB ± 0%        110MB ± 0%  -2.38%  (p=0.008 n=5+5)
    Compiler         463MB ± 0%        457MB ± 0%  -1.34%  (p=0.008 n=5+5)
    SSA             1.25GB ± 0%       1.23GB ± 0%  -1.64%  (p=0.008 n=5+5)
    Flate           25.3MB ± 0%       25.0MB ± 0%  -1.05%  (p=0.008 n=5+5)
    GoParser        31.7MB ± 0%       30.9MB ± 0%  -2.74%  (p=0.008 n=5+5)
    Reflect         78.2MB ± 0%       76.7MB ± 0%  -1.90%  (p=0.008 n=5+5)
    Tar             26.5MB ± 0%       26.0MB ± 0%  -2.04%  (p=0.008 n=5+5)
    XML             42.4MB ± 0%       41.1MB ± 0%  -2.86%  (p=0.008 n=5+5)
    
    name       old allocs/op     new allocs/op     delta
    Template          377k ± 0%         360k ± 1%  -4.46%  (p=0.008 n=5+5)
    Unicode           321k ± 0%         320k ± 0%    ~     (p=0.151 n=5+5)
    GoTypes          1.14M ± 0%        1.10M ± 0%  -4.13%  (p=0.008 n=5+5)
    Compiler         4.26M ± 0%        4.13M ± 0%  -3.14%  (p=0.008 n=5+5)
    SSA              9.70M ± 0%        9.33M ± 0%  -3.89%  (p=0.008 n=5+5)
    Flate             233k ± 0%         228k ± 0%  -2.40%  (p=0.008 n=5+5)
    GoParser          316k ± 0%         302k ± 0%  -4.48%  (p=0.008 n=5+5)
    Reflect           980k ± 0%         945k ± 0%  -3.62%  (p=0.008 n=5+5)
    Tar               249k ± 0%         241k ± 0%  -3.19%  (p=0.008 n=5+5)
    XML               391k ± 0%         376k ± 0%  -3.95%  (p=0.008 n=5+5)
    
    Change-Id: I97dbfb6b40195d1e0b91be097a4bf0e7f65b26af
    Reviewed-on: https://go-review.googlesource.com/40857
    Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
    Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
    da67c23f
main.go 26.8 KB