From: Cherry Mui Date: Sat, 2 Dec 2023 21:37:17 +0000 (-0500) Subject: cmd/compile: update PGO profile X-Git-Tag: go1.22rc1~113 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1926a0b573f5a55220752c16405770e910a18a6a;p=gostls13.git cmd/compile: update PGO profile Since the default.pgo profile is collected, there has been a lot of development and refactoring in the compiler. It's time to refresh the compiler's PGO profile. As we are in the freeze, there will probably not be many major changes to the compiler, so this should be good for Go 1.22. Profile collected by running the cmd/compile/profile.sh script on the linux-amd64-perf gomote. Benchmark results on Linux/AMD64: │ nopgo.txt │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ sec/op vs base │ Template 127.4m ± 0% 125.3m ± 0% -1.65% (p=0.000 n=20) 123.5m ± 0% -3.07% (p=0.000 n=20) Unicode 105.94m ± 0% 100.77m ± 0% -4.87% (p=0.000 n=20) 99.26m ± 0% -6.30% (p=0.000 n=20) GoTypes 798.2m ± 1% 784.4m ± 0% -1.73% (p=0.000 n=20) 769.4m ± 1% -3.61% (p=0.000 n=20) Compiler 85.10m ± 0% 82.03m ± 1% -3.61% (p=0.000 n=20) 79.77m ± 1% -6.26% (p=0.000 n=20) SSA 6.054 ± 0% 5.945 ± 0% -1.81% (p=0.000 n=20) 5.811 ± 0% -4.03% (p=0.000 n=20) Flate 75.37m ± 1% 74.11m ± 0% -1.66% (p=0.000 n=20) 73.02m ± 1% -3.12% (p=0.000 n=20) GoParser 144.6m ± 1% 141.7m ± 1% -1.95% (p=0.000 n=20) 140.5m ± 1% -2.83% (p=0.000 n=20) Reflect 312.9m ± 1% 304.9m ± 1% -2.56% (p=0.000 n=20) 300.4m ± 0% -4.00% (p=0.000 n=20) Tar 115.8m ± 0% 113.6m ± 0% -1.88% (p=0.000 n=20) 111.9m ± 1% -3.33% (p=0.000 n=20) XML 145.9m ± 1% 143.6m ± 0% -1.58% (p=0.000 n=20) 141.3m ± 1% -3.15% (p=0.000 n=20) geomean 224.1m 218.9m -2.34% 215.2m -3.98% This also shows that a stale profile (the old one) still brings a speedup, but smaller, as expected. As before, the profile is transferrable. Benchmark results on Darwin/ARM64: │ nopgo.txt │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ sec/op vs base │ Template 71.31m ± 34% 68.97m ± 1% -3.28% (p=0.000 n=20) 68.66m ± 38% -3.71% (p=0.030 n=20) Unicode 58.70m ± 1% 55.64m ± 1% -5.20% (p=0.000 n=20) 53.05m ± 1% -9.61% (p=0.000 n=20) GoTypes 422.9m ± 0% 412.7m ± 0% -2.43% (p=0.000 n=20) 406.0m ± 1% -4.01% (p=0.000 n=20) Compiler 45.89m ± 1% 42.67m ± 2% -7.00% (p=0.000 n=20) 42.96m ± 1% -6.38% (p=0.000 n=20) SSA 3.190 ± 0% 3.090 ± 0% -3.15% (p=0.000 n=20) 3.007 ± 1% -5.74% (p=0.000 n=20) Flate 42.02m ± 1% 41.09m ± 1% -2.20% (p=0.000 n=20) 40.58m ± 1% -3.43% (p=0.000 n=20) GoParser 75.75m ± 1% 73.84m ± 1% -2.52% (p=0.000 n=20) 72.66m ± 1% -4.08% (p=0.000 n=20) Reflect 163.7m ± 1% 158.1m ± 1% -3.39% (p=0.000 n=20) 155.3m ± 1% -5.10% (p=0.000 n=20) Tar 62.03m ± 1% 60.15m ± 0% -3.02% (p=0.000 n=20) 59.74m ± 1% -3.69% (p=0.000 n=20) XML 79.38m ± 1% 77.32m ± 1% -2.59% (p=0.000 n=20) 75.05m ± 2% -5.45% (p=0.000 n=20) geomean 120.9m 116.6m -3.49% 114.6m -5.14% For #60234. Change-Id: I4ead6158f835c2e69c0f51ea24d044b82a7320cb Reviewed-on: https://go-review.googlesource.com/c/go/+/546337 Reviewed-by: Dmitri Shuralyov Reviewed-by: Michael Pratt LUCI-TryBot-Result: Go LUCI --- diff --git a/src/cmd/compile/default.pgo b/src/cmd/compile/default.pgo index 2ba79688d4..0f925ec69c 100644 Binary files a/src/cmd/compile/default.pgo and b/src/cmd/compile/default.pgo differ