go/src/cmd/compile/internal/gc
Josh Bleecher Snyder 1213776650 cmd/compile: use a buffered channel for the function queue
Updates #20307

With -c=2:

name        old time/op       new time/op       delta
Template          140ms ± 3%        139ms ± 4%  -1.06%  (p=0.003 n=50+50)
Unicode          81.1ms ± 4%       81.9ms ± 4%  +0.96%  (p=0.006 n=50+49)
GoTypes           375ms ± 3%        374ms ± 3%    ~     (p=0.094 n=48+48)
Compiler          1.69s ± 2%        1.68s ± 2%  -0.41%  (p=0.004 n=49+48)
SSA               3.05s ± 1%        3.05s ± 2%    ~     (p=0.953 n=47+49)
Flate            86.3ms ± 2%       85.9ms ± 2%  -0.49%  (p=0.011 n=49+48)
GoParser         99.5ms ± 3%       99.3ms ± 3%    ~     (p=0.394 n=48+49)
Reflect           262ms ± 3%        261ms ± 3%    ~     (p=0.354 n=47+49)
Tar              81.4ms ± 3%       79.7ms ± 4%  -1.98%  (p=0.000 n=47+50)
XML               133ms ± 3%        133ms ± 3%    ~     (p=0.992 n=50+49)
[Geo mean]        236ms             235ms       -0.36%

name        old user-time/op  new user-time/op  delta
Template          249ms ± 5%        242ms ± 7%  -2.61%  (p=0.000 n=48+50)
Unicode           111ms ± 4%        111ms ± 6%    ~     (p=0.407 n=46+47)
GoTypes           753ms ± 2%        748ms ± 3%  -0.65%  (p=0.010 n=48+50)
Compiler          3.28s ± 2%        3.27s ± 2%  -0.40%  (p=0.026 n=49+47)
SSA               7.03s ± 2%        7.01s ± 3%    ~     (p=0.154 n=45+50)
Flate             154ms ± 3%        154ms ± 3%    ~     (p=0.306 n=49+49)
GoParser          180ms ± 4%        179ms ± 4%    ~     (p=0.148 n=48+48)
Reflect           427ms ± 2%        428ms ± 3%    ~     (p=0.502 n=46+49)
Tar               142ms ± 5%        135ms ± 9%  -4.83%  (p=0.000 n=46+50)
XML               247ms ± 3%        247ms ± 4%    ~     (p=0.921 n=49+49)
[Geo mean]        426ms             422ms       -0.92%


Change-Id: I4746234439ddb9a7e5840fc783b8857da6a4a680
Reviewed-on: https://go-review.googlesource.com/43110
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
2017-05-10 01:44:12 +00:00
..
builtin cmd/compile: intrinsics for math/bits.OnesCount 2017-04-04 02:40:11 +00:00
testdata cmd/compile: make builds reproducible in presence of **byte and **int8 2017-05-09 21:15:12 +00:00
alg.go cmd/compile: add Func.SetNilCheckDisabled 2017-05-05 19:34:09 +00:00
align.go cmd/compile: check width of embedded interfaces in expandiface 2017-04-28 20:07:38 +00:00
asm_test.go cmd/internal/obj/arm64, cmd/compile: improve offset folding on ARM64 2017-05-09 19:41:00 +00:00
bexport.go cmd/compile: add comments to trackAllTypes 2017-05-01 15:22:20 +00:00
bimport.go cmd/compile: improve efficiency of binary export position encoding 2017-04-25 17:42:19 +00:00
bitset.go cmd/compile: minor cleanup 2017-04-26 18:01:14 +00:00
bootstrap.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
builtin.go cmd/compile: factor out Pkg, Sym, and Type into package types 2017-04-07 03:04:00 +00:00
builtin_test.go all: use testing.GoToolPath instead of "go" 2016-08-30 22:49:11 +00:00
bv.go cmd/compile: Fatal instead of panic in large bvbulkalloc 2017-04-03 23:28:29 +00:00
class_string.go cmd/compile: make Class a Stringer 2017-04-30 16:26:09 +00:00
closure.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
const.go cmd/compile: do not print duplicate error on ideal->float{32,64} overflow 2017-04-12 21:00:15 +00:00
constFold_test.go cmd/compile: use std "DO NOT EDIT" comment for generated files 2017-03-31 18:50:40 +00:00
dcl.go cmd/compile: add initial backend concurrency support 2017-04-27 00:59:07 +00:00
esc.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
export.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
fixedbugs_test.go cmd/compile: inline convT2{I,E} when result doesn't escape 2016-09-19 02:37:08 +00:00
float_test.go cmd/compile: strength-reduce floating point 2017-04-03 21:27:03 +00:00
fmt.go cmd/compile: change ssa.Type into *types.Type 2017-05-09 23:01:51 +00:00
gen.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
global_test.go all: use testing.GoToolPath instead of "go" 2016-08-30 22:49:11 +00:00
go.go cmd/compile: make Class a Stringer 2017-04-30 16:26:09 +00:00
gsubr.go cmd/compile: move nodarg to walk.go 2017-04-27 19:08:26 +00:00
iface_test.go cmd/compile: inline convT2{I,E} when result doesn't escape 2016-09-19 02:37:08 +00:00
init.go cmd/compile: avoid giant init functions due to many user inits 2017-05-01 18:00:11 +00:00
inl.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
lex.go cmd/internal/objabi: extract shared functionality from obj 2017-04-19 00:00:09 +00:00
lex_test.go cmd/compile: provide line number for cgo directive error (fix a TODO) 2017-02-02 21:24:50 +00:00
logic_test.go cmd/compile: add tests for logical simplification rewrite rules 2016-05-26 22:16:52 +00:00
main.go cmd/compile: make "imported and not used" errors deterministic 2017-05-09 21:14:56 +00:00
mkbuiltin.go cmd/compile: factor out Pkg, Sym, and Type into package types 2017-04-07 03:04:00 +00:00
mpfloat.go cmd/compile: better errors for float constants with large exponents 2017-05-08 22:56:10 +00:00
mpint.go cmd/compile: use Fatalf for more internal errors 2017-03-14 17:58:38 +00:00
noder.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
norace.go cmd/compile: randomize compilation order when race-enabled 2017-04-27 19:27:22 +00:00
obj.go cmd/internal/obj: fix LSym.Type during compilation, not linking 2017-05-02 00:21:33 +00:00
opnames.go cmd/compile: check loop rescheduling with stack bound, not counter 2017-03-08 18:52:12 +00:00
order.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
pgen.go cmd/compile: use a buffered channel for the function queue 2017-05-10 01:44:12 +00:00
pgen_test.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
phi.go cmd/compile: change ssa.Type into *types.Type 2017-05-09 23:01:51 +00:00
plive.go cmd/compile: change ssa.Type into *types.Type 2017-05-09 23:01:51 +00:00
pprof.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
race.go cmd/compile: randomize compilation order when race-enabled 2017-04-27 19:27:22 +00:00
racewalk.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
range.go cmd/compile: move Node.Typecheck to flags 2017-04-26 01:27:28 +00:00
reflect.go cmd/compile: make builds reproducible in presence of **byte and **int8 2017-05-09 21:15:12 +00:00
reflect_test.go cmd/internal/obj: add SortSlice 2017-04-11 20:29:04 +00:00
reproduciblebuilds_test.go cmd/compile: make builds reproducible in presence of **byte and **int8 2017-05-09 21:15:12 +00:00
select.go cmd/compile: move Node.Typecheck to flags 2017-04-26 01:27:28 +00:00
shift_test.go cmd/compile: test non-constant shifts 2016-06-01 00:06:00 +00:00
sinit.go cmd/compile: avoid giant init functions due to many user inits 2017-05-01 18:00:11 +00:00
sizeof_test.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
ssa.go cmd/compile: change ssa.Type into *types.Type 2017-05-09 23:01:51 +00:00
ssa_test.go cmd/compile: fix s390x unsigned comparison constant merging rules 2017-04-13 18:35:11 +00:00
subr.go cmd/compile: add initial backend concurrency support 2017-04-27 00:59:07 +00:00
swt.go cmd/compile: fix error when typeswitching on untyped 2017-04-30 17:25:47 +00:00
swt_test.go cmd/compile: reduce reliance on implementation details of Mpint 2017-04-07 17:08:34 +00:00
syntax.go cmd/compile: add Func.SetNilCheckDisabled 2017-05-05 19:34:09 +00:00
timings.go cmd/compile: add compiler phase timing 2016-08-17 17:27:04 +00:00
trace.go cmd/compile/internal/gc: add runtime/trace support 2016-10-12 13:57:26 +00:00
truncconst_test.go cmd/compile: diagnose constant division by complex zero 2017-04-12 17:29:28 +00:00
typecheck.go cmd/compile: suppress duplicate type errors 2017-05-04 21:53:49 +00:00
types.go cmd/compile/internal/types: remove Cmptmp 2017-04-07 22:11:36 +00:00
types_acc.go cmd/compile: factor out Pkg, Sym, and Type into package types 2017-04-07 03:04:00 +00:00
universe.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
unsafe.go cmd/compile: handle unsafe builtins like universal builtins 2016-10-18 22:34:44 +00:00
util.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
walk.go cmd/compile: checkwidthj all expressions in walk 2017-04-28 23:38:15 +00:00