mirror of https://github.com/golang/go.git
CL 450055 replaced BitLen with a slower constant-time implementation, which caused a performance regression in some ecosystem benchmarks. https://perf.golang.org/search?q=upload%3A20221130.13+pkg%3Agithub.com%2Fericlagergren%2Fdecimal%2Fbenchmarks Current tip vs this CL name old time/op new time/op delta Pi/foo=ericlagergren_(Go)/prec=100-4 151µs ± 0% 129µs ± 0% -14.89% (p=0.000 n=10+9) Pi/foo=ericlagergren_(GDA)/prec=100-4 305µs ± 0% 269µs ± 1% -11.88% (p=0.000 n=9+10) Pi/foo=cockroachdb/apd/prec=100-4 5.74ms ± 0% 5.33ms ± 0% -7.02% (p=0.000 n=9+10) Pi/foo=shopspring/prec=100-4 265µs ±16% 268µs ±11% ~ (p=0.796 n=10+10) Pi/foo=apmckinlay/prec=100-4 3.10µs ± 0% 3.08µs ± 0% -0.60% (p=0.000 n=8+10) Pi/foo=go-inf/prec=100-4 132µs ± 9% 137µs ± 9% ~ (p=0.182 n=10+9) Pi/foo=float64/prec=100-4 4.97µs ± 0% 4.98µs ± 0% ~ (p=0.196 n=10+10) CL 450055's parent vs this CL name old time/op new time/op delta Pi/foo=ericlagergren_(Go)/prec=100-4 129µs ± 1% 129µs ± 0% ~ (p=0.182 n=10+9) Pi/foo=ericlagergren_(GDA)/prec=100-4 267µs ± 1% 269µs ± 1% +0.93% (p=0.001 n=9+10) Pi/foo=shopspring/prec=100-4 252µs ± 9% 268µs ±11% ~ (p=0.052 n=10+10) Pi/foo=apmckinlay/prec=100-4 3.10µs ± 1% 3.08µs ± 0% -0.66% (p=0.000 n=9+10) Pi/foo=go-inf/prec=100-4 135µs ± 6% 137µs ± 9% ~ (p=0.605 n=9+9) Pi/foo=float64/prec=100-4 4.97µs ± 0% 4.98µs ± 0% +0.23% (p=0.005 n=8+10) goos: linux goarch: amd64 pkg: github.com/ericlagergren/decimal_benchmarks cpu: Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz Fixes #57014 Change-Id: I08478bea122212320a592ad2652e33077807de09 Reviewed-on: https://go-review.googlesource.com/c/go/+/454617 Reviewed-by: Roland Shoemaker <roland@golang.org> Run-TryBot: Filippo Valsorda <filippo@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Auto-Submit: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> |
||
|---|---|---|
| .. | ||
| big | ||
| bits | ||
| cmplx | ||
| rand | ||
| abs.go | ||
| acos_s390x.s | ||
| acosh.go | ||
| acosh_s390x.s | ||
| all_test.go | ||
| arith_s390x.go | ||
| arith_s390x_test.go | ||
| asin.go | ||
| asin_s390x.s | ||
| asinh.go | ||
| asinh_s390x.s | ||
| atan.go | ||
| atan2.go | ||
| atan2_s390x.s | ||
| atan_s390x.s | ||
| atanh.go | ||
| atanh_s390x.s | ||
| bits.go | ||
| cbrt.go | ||
| cbrt_s390x.s | ||
| const.go | ||
| const_test.go | ||
| copysign.go | ||
| cosh_s390x.s | ||
| dim.go | ||
| dim_amd64.s | ||
| dim_arm64.s | ||
| dim_asm.go | ||
| dim_noasm.go | ||
| dim_riscv64.s | ||
| dim_s390x.s | ||
| erf.go | ||
| erf_s390x.s | ||
| erfc_s390x.s | ||
| erfinv.go | ||
| example_test.go | ||
| exp.go | ||
| exp2_asm.go | ||
| exp2_noasm.go | ||
| exp_amd64.go | ||
| exp_amd64.s | ||
| exp_arm64.s | ||
| exp_asm.go | ||
| exp_noasm.go | ||
| exp_s390x.s | ||
| expm1.go | ||
| expm1_s390x.s | ||
| export_s390x_test.go | ||
| export_test.go | ||
| floor.go | ||
| floor_386.s | ||
| floor_amd64.s | ||
| floor_arm64.s | ||
| floor_asm.go | ||
| floor_noasm.go | ||
| floor_ppc64x.s | ||
| floor_s390x.s | ||
| floor_wasm.s | ||
| fma.go | ||
| frexp.go | ||
| gamma.go | ||
| huge_test.go | ||
| hypot.go | ||
| hypot_386.s | ||
| hypot_amd64.s | ||
| hypot_asm.go | ||
| hypot_noasm.go | ||
| j0.go | ||
| j1.go | ||
| jn.go | ||
| ldexp.go | ||
| lgamma.go | ||
| log.go | ||
| log1p.go | ||
| log1p_s390x.s | ||
| log10.go | ||
| log10_s390x.s | ||
| log_amd64.s | ||
| log_asm.go | ||
| log_s390x.s | ||
| log_stub.go | ||
| logb.go | ||
| mod.go | ||
| modf.go | ||
| modf_arm64.s | ||
| modf_asm.go | ||
| modf_noasm.go | ||
| modf_ppc64x.s | ||
| nextafter.go | ||
| pow.go | ||
| pow10.go | ||
| pow_s390x.s | ||
| remainder.go | ||
| signbit.go | ||
| sin.go | ||
| sin_s390x.s | ||
| sincos.go | ||
| sinh.go | ||
| sinh_s390x.s | ||
| sqrt.go | ||
| stubs.go | ||
| stubs_s390x.s | ||
| tan.go | ||
| tan_s390x.s | ||
| tanh.go | ||
| tanh_s390x.s | ||
| trig_reduce.go | ||
| unsafe.go | ||