• Josh Bleecher Snyder's avatar
    cmd/compile: compile all functions concurrently · fa3e9d27
    Josh Bleecher Snyder authored
    CL 40693 added concurrent backend compilation support,
    and used it for user-provided functions.
    Autogenerated functions were still compiled serially.
    This CL brings them into the fold.
    As of this CL, when requested,
    no functions are compiled serially.
    
    There generally aren't many autogenerated functions.
    When there are, this CL can help a lot,
    because autogenerated functions are usually short.
    Many short functions is the best case scenario
    for concurrent compilation; see CL 41192.
    
    One example of such a package comes from Dave Cheney's benchjuju:
    github.com/juju/govmomi/vim25/types.
    It has thousands of autogenerated functions.
    This CL improves performance on the entire benchmark
    by around a second on my machine at c=8, or about ~5%.
    
    Updates #15756
    
    Change-Id: Ia21e302b2469a9ed743df02244ec7ebde55b32f3
    Reviewed-on: https://go-review.googlesource.com/41503
    Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
    fa3e9d27
obj.go 11.2 KB