• Alexandru Moșoi's avatar
    cmd/compile: share dominator tree among many passes · 9743e4b0
    Alexandru Moșoi authored
    These passes do not modify the dominator tree too much.
    
    % benchstat old.txt new.txt
    name       old time/op     new time/op     delta
    Template       335ms ± 3%      325ms ± 8%    ~             (p=0.074 n=8+9)
    GoTypes        1.05s ± 1%      1.05s ± 3%    ~            (p=0.095 n=9+10)
    Compiler       5.37s ± 4%      5.29s ± 1%  -1.42%         (p=0.022 n=9+10)
    MakeBash       34.9s ± 3%      34.4s ± 2%    ~            (p=0.095 n=9+10)
    
    name       old alloc/op    new alloc/op    delta
    Template      55.4MB ± 0%     54.9MB ± 0%  -0.81%        (p=0.000 n=10+10)
    GoTypes        179MB ± 0%      178MB ± 0%  -0.89%        (p=0.000 n=10+10)
    Compiler       807MB ± 0%      798MB ± 0%  -1.10%        (p=0.000 n=10+10)
    
    name       old allocs/op   new allocs/op   delta
    Template        498k ± 0%       496k ± 0%  -0.29%          (p=0.000 n=9+9)
    GoTypes        1.42M ± 0%      1.41M ± 0%  -0.24%        (p=0.000 n=10+10)
    Compiler       5.61M ± 0%      5.60M ± 0%  -0.12%        (p=0.000 n=10+10)
    
    Change-Id: I4cd20cfba3f132ebf371e16046ab14d7e42799ec
    Reviewed-on: https://go-review.googlesource.com/21806
    Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarDavid Chase <drchase@google.com>
    9743e4b0
nilcheck.go 4.77 KB