This CL we turn regabi on by default.
Later CLs will clean up fallback code.
name old time/op new time/op delta
BinaryTree17 35.2s ± 2% 31.0s ± 1% -11.87% (p=0.008 n=5+5)
Fannkuch11 10.8s ± 1% 11.0s ± 1% +1.73% (p=0.008 n=5+5)
FmtFprintfEmpty 379ns ± 2% 389ns ± 4% ~ (p=0.095 n=5+5)
FmtFprintfString 746ns ± 5% 693ns ± 2% -7.10% (p=0.008 n=5+5)
FmtFprintfInt 769ns ± 3% 744ns ± 2% -3.23% (p=0.032 n=5+5)
FmtFprintfIntInt 1.14µs ± 3% 1.09µs ± 4% -4.51% (p=0.032 n=5+5)
FmtFprintfPrefixedInt 5.04µs ± 0% 4.53µs ± 1% -10.14% (p=0.008 n=5+5)
FmtFprintfFloat 1.82µs ± 4% 1.67µs ± 4% -8.12% (p=0.008 n=5+5)
FmtManyArgs 3.92µs ± 3% 3.67µs ± 2% -6.20% (p=0.008 n=5+5)
GobDecode 137ms ± 1% 132ms ± 1% -4.13% (p=0.008 n=5+5)
GobEncode 93.9ms ± 1% 89.3ms ± 2% -4.84% (p=0.008 n=5+5)
Gzip 2.54s ± 1% 2.59s ± 1% +1.95% (p=0.008 n=5+5)
Gunzip 1.39s ± 1% 1.35s ± 0% -3.07% (p=0.008 n=5+5)
HTTPClientServer 416µs ± 1% 397µs ± 0% -4.39% (p=0.016 n=5+4)
JSONEncode 202ms ± 1% 196ms ± 2% -2.76% (p=0.008 n=5+5)
JSONDecode 478ms ± 2% 435ms ± 4% -8.97% (p=0.008 n=5+5)
Mandelbrot200 44.1ms ± 0% 44.1ms ± 0% ~ (p=0.151 n=5+5)
GoParse 33.7ms ± 1% 31.5ms ± 1% -6.55% (p=0.008 n=5+5)
RegexpMatchEasy0_32 624ns ± 6% 548ns ± 6% -12.08% (p=0.008 n=5+5)
RegexpMatchEasy0_1K 4.49µs ± 1% 3.59µs ± 1% -20.21% (p=0.008 n=5+5)
RegexpMatchEasy1_32 654ns ± 4% 556ns ± 2% -15.01% (p=0.008 n=5+5)
RegexpMatchEasy1_1K 6.21µs ± 2% 4.96µs ± 3% -20.22% (p=0.008 n=5+5)
RegexpMatchMedium_32 9.78µs ± 5% 8.03µs ± 4% -17.96% (p=0.008 n=5+5)
RegexpMatchMedium_1K 280µs ± 4% 223µs ± 5% -20.42% (p=0.008 n=5+5)
RegexpMatchHard_32 17.0µs ± 3% 15.2µs ± 3% -10.63% (p=0.008 n=5+5)
RegexpMatchHard_1K 520µs ± 4% 485µs ± 6% -6.76% (p=0.008 n=5+5)
Revcomp 35.2s ± 1% 35.2s ± 1% ~ (p=0.690 n=5+5)
Template 686ms ± 2% 610ms ± 3% -11.09% (p=0.008 n=5+5)
TimeParse 1.91µs ± 2% 1.78µs ± 1% -6.86% (p=0.008 n=5+5)
TimeFormat 3.04µs ± 2% 2.84µs ± 3% -6.71% (p=0.008 n=5+5)
name old speed new speed delta
GobDecode 5.59MB/s ± 1% 5.84MB/s ± 1% +4.40% (p=0.008 n=5+5)
GobEncode 8.17MB/s ± 1% 8.59MB/s ± 3% +5.14% (p=0.008 n=5+5)
Gzip 7.65MB/s ± 1% 7.50MB/s ± 1% -1.96% (p=0.008 n=5+5)
Gunzip 13.9MB/s ± 1% 14.4MB/s ± 0% +3.16% (p=0.008 n=5+5)
JSONEncode 9.63MB/s ± 1% 9.90MB/s ± 2% +2.83% (p=0.008 n=5+5)
JSONDecode 4.06MB/s ± 2% 4.46MB/s ± 4% +9.90% (p=0.008 n=5+5)
GoParse 1.72MB/s ± 1% 1.84MB/s ± 1% +6.85% (p=0.008 n=5+5)
RegexpMatchEasy0_32 51.4MB/s ± 6% 58.4MB/s ± 6% +13.72% (p=0.008 n=5+5)
RegexpMatchEasy0_1K 228MB/s ± 1% 286MB/s ± 1% +25.32% (p=0.008 n=5+5)
RegexpMatchEasy1_32 48.9MB/s ± 4% 57.5MB/s ± 2% +17.63% (p=0.008 n=5+5)
RegexpMatchEasy1_1K 165MB/s ± 2% 207MB/s ± 3% +25.37% (p=0.008 n=5+5)
RegexpMatchMedium_32 3.27MB/s ± 5% 3.99MB/s ± 5% +21.87% (p=0.008 n=5+5)
RegexpMatchMedium_1K 3.66MB/s ± 4% 4.60MB/s ± 5% +25.61% (p=0.008 n=5+5)
RegexpMatchHard_32 1.88MB/s ± 3% 2.10MB/s ± 3% +12.03% (p=0.008 n=5+5)
RegexpMatchHard_1K 1.97MB/s ± 4% 2.11MB/s ± 6% +7.31% (p=0.008 n=5+5)
Revcomp 7.23MB/s ± 1% 7.23MB/s ± 1% ~ (p=0.810 n=5+5)
Template 2.83MB/s ± 2% 3.18MB/s ± 4% +12.52% (p=0.008 n=5+5)
Change-Id: Ie02aa5ebe60607dbb5007da0efae731c36e96399
Reviewed-on: https://go-review.googlesource.com/c/go/+/402374
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: mzh <mzh@golangcn.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
case "amd64", "arm64", "ppc64le", "ppc64":
regabiAlwaysOn = true
regabiSupported = true
+ case "riscv64":
+ regabiSupported = true
}
baseline := goexperiment.Flags{
flags.RegabiWrappers = true
flags.RegabiArgs = true
}
- // regabi is only supported on amd64, arm64, ppc64 and ppc64le.
+ // regabi is only supported on amd64, arm64, riscv64, ppc64 and ppc64le.
if !regabiSupported {
flags.RegabiArgs = false
}