@rasky recently made significant improvements in the prove pass. It is, however, a bit more expensive now. This issue is to check whether there are any reasonably simple toolspeed improvements to be made this cycle. Marking as Go 1.11, in the expectation that any changes made here will be fairly safe and done early in the freeze. If there aren't any such fixes, this issue can be closed.
Benchmarks for the span of commits from 5af0b28 to e0d37a3:
name old time/op new time/op delta
Template 167ms ± 3% 168ms ± 2% +0.66% (p=0.000 n=92+96)
Unicode 85.0ms ± 4% 84.8ms ± 4% ~ (p=0.519 n=97+96)
GoTypes 537ms ± 2% 543ms ± 2% +1.06% (p=0.000 n=94+92)
Compiler 2.51s ± 4% 2.56s ± 3% +1.64% (p=0.000 n=96+98)
SSA 6.15s ± 3% 6.35s ± 2% +3.22% (p=0.000 n=96+98)
Flate 112ms ± 4% 113ms ± 3% +1.08% (p=0.000 n=96+96)
GoParser 133ms ± 4% 134ms ± 3% +0.97% (p=0.000 n=96+99)
Reflect 350ms ± 5% 355ms ± 4% +1.40% (p=0.000 n=96+95)
Tar 151ms ± 3% 152ms ± 5% +0.55% (p=0.023 n=98+99)
XML 191ms ± 3% 194ms ± 4% +1.67% (p=0.000 n=94+97)
[Geo mean] 335ms 339ms +1.20%
name old user-time/op new user-time/op delta
Template 207ms ± 3% 208ms ± 3% +0.37% (p=0.014 n=95+97)
Unicode 108ms ± 5% 108ms ± 5% ~ (p=0.557 n=98+93)
GoTypes 724ms ± 2% 728ms ± 2% +0.47% (p=0.000 n=96+93)
Compiler 3.37s ± 6% 3.52s ± 5% +4.35% (p=0.000 n=99+90)
SSA 8.70s ± 4% 8.94s ± 4% +2.78% (p=0.000 n=98+91)
Flate 133ms ± 4% 135ms ± 4% +1.05% (p=0.000 n=100+96)
GoParser 154ms ± 3% 155ms ± 4% +0.68% (p=0.001 n=98+98)
Reflect 445ms ± 8% 462ms ± 3% +4.02% (p=0.000 n=100+90)
Tar 189ms ± 4% 191ms ± 4% +0.98% (p=0.000 n=97+97)
XML 229ms ± 4% 235ms ± 7% +2.44% (p=0.000 n=94+92)
[Geo mean] 424ms 431ms +1.73%
name old alloc/op new alloc/op delta
Template 34.4MB ± 0% 35.0MB ± 0% +1.87% (p=0.008 n=5+5)
Unicode 29.3MB ± 0% 29.3MB ± 0% +0.20% (p=0.008 n=5+5)
GoTypes 113MB ± 0% 115MB ± 0% +1.61% (p=0.008 n=5+5)
Compiler 508MB ± 0% 519MB ± 0% +2.00% (p=0.008 n=5+5)
SSA 1.49GB ± 0% 1.55GB ± 0% +3.98% (p=0.008 n=5+5)
Flate 23.7MB ± 0% 24.2MB ± 0% +2.04% (p=0.008 n=5+5)
GoParser 27.8MB ± 0% 28.2MB ± 0% +1.24% (p=0.008 n=5+5)
Reflect 77.0MB ± 0% 78.8MB ± 0% +2.29% (p=0.008 n=5+5)
Tar 33.9MB ± 0% 34.5MB ± 0% +1.57% (p=0.008 n=5+5)
XML 42.5MB ± 0% 43.3MB ± 0% +1.78% (p=0.008 n=5+5)
[Geo mean] 75.9MB 77.3MB +1.85%
name old allocs/op new allocs/op delta
Template 320k ± 0% 330k ± 0% +3.03% (p=0.008 n=5+5)
Unicode 336k ± 0% 337k ± 0% +0.25% (p=0.008 n=5+5)
GoTypes 1.12M ± 0% 1.15M ± 0% +2.14% (p=0.008 n=5+5)
Compiler 4.65M ± 0% 4.77M ± 0% +2.43% (p=0.008 n=5+5)
SSA 11.9M ± 0% 12.5M ± 0% +5.22% (p=0.008 n=5+5)
Flate 214k ± 0% 221k ± 0% +3.18% (p=0.008 n=5+5)
GoParser 270k ± 0% 275k ± 0% +1.91% (p=0.008 n=5+5)
Reflect 920k ± 0% 944k ± 0% +2.56% (p=0.008 n=5+5)
Tar 316k ± 0% 323k ± 0% +2.33% (p=0.008 n=5+5)
XML 375k ± 0% 384k ± 0% +2.54% (p=0.008 n=5+5)
[Geo mean] 728k 747k +2.55%
@rasky recently made significant improvements in the prove pass. It is, however, a bit more expensive now. This issue is to check whether there are any reasonably simple toolspeed improvements to be made this cycle. Marking as Go 1.11, in the expectation that any changes made here will be fairly safe and done early in the freeze. If there aren't any such fixes, this issue can be closed.
Benchmarks for the span of commits from 5af0b28 to e0d37a3: