crypto/internal/fips140/edwards25519/field: delete Square amd64 assembly
The preceding commit made the compiler-generated code faster
than the assembly.
Since the generic/assembly split is gone, use nicer function names.
The fact that they are functions instead of methods is itself a vestige
of their assembly roots. But unwinding that makes for a large diff.
goos: linux
goarch: amd64
cpu: AMD Ryzen Threadripper PRO 7975WX 32-Cores
pkg: crypto/ed25519
│ before │ after │
│ sec/op │ sec/op vs base │
KeyGeneration-64 12.70µ ± 1% 12.38µ ± 2% -2.53% (p=0.000 n=30)
NewKeyFromSeed-64 12.52µ ± 0% 12.27µ ± 1% -2.00% (p=0.000 n=30)
Signing-64 15.42µ ± 0% 14.81µ ± 0% -3.97% (p=0.000 n=30)
Verification-64 34.84µ ± 0% 34.68µ ± 0% -0.44% (p=0.006 n=30)
geomean 17.10µ 16.71µ -2.24%
pkg: crypto/internal/fips140/edwards25519
│ before │ after │
│ sec/op │ sec/op vs base │
EncodingDecoding-64 5.159µ ± 0% 4.589µ ± 1% -11.05% (p=0.000 n=30)
ScalarBaseMult-64 9.761µ ± 0% 9.780µ ± 1% ~ (p=0.965 n=30)
ScalarMult-64 31.99µ ± 0% 32.46µ ± 0% +1.47% (p=0.000 n=30)
VarTimeDoubleScalarBaseMult-64 29.82µ ± 0% 30.16µ ± 0% +1.14% (p=0.000 n=30)
geomean 14.80µ 14.48µ -2.20%
pkg: crypto/internal/fips140/edwards25519/field
│ before │ after │
│ sec/op │ sec/op vs base │
Add-64 2.571n ± 2% 2.573n ± 1% ~ (p=0.460 n=30)
Multiply-64 10.67n ± 0% 10.62n ± 0% -0.47% (p=0.001 n=30)
Square-64 8.849n ± 0% 8.412n ± 0% -4.94% (p=0.000 n=30)
Invert-64 2.401µ ± 0% 2.156µ ± 2% -10.20% (p=0.000 n=30)
Mult32-64 3.226n ± 0% 3.240n ± 0% +0.47% (p=0.004 n=30)
Bytes-64 7.974n ± 1% 7.905n ± 1% -0.87% (p=0.015 n=30)
geomean 15.70n 15.27n -2.74%
Change-Id: I995209e72e202e7ca4e436615424120ef09e8b37
Reviewed-on: https://go-review.googlesource.com/c/go/+/778500
Reviewed-by: David Chase <drc...@google.com>
LUCI-TryBot-Result: golang...@luci-project-accounts.iam.gserviceaccount.com <golang...@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Filippo Valsorda <fil...@golang.org>
Reviewed-by: Dmitri Shuralyov <dmit...@google.com>
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |