commit | 1a865804d5a867febcb0162512f4e5d947ba641e | [log] [tgz] |
---|---|---|
author | Lynn Boger <laboger@linux.vnet.ibm.com> | Fri Jan 19 15:50:36 2024 -0600 |
committer | Lynn Boger <laboger@linux.vnet.ibm.com> | Thu Feb 15 13:30:21 2024 +0000 |
tree | e6f67c09eb18c394f17b91e74d2bd813fc7581a9 | |
parent | 1c981e6f81fc4d43487d6ad84d6b499fa55099e8 [diff] |
x/crypto/internal/poly1305: improve sum_ppc64le.s This contains a few minor improvements to sum_ppc64le.s which result in up to 10% performance improvement for some of the benchmarks in this directory. - ADDZE followed by ADD can be combined into ADDE - PCALIGN added to the loop - Eliminate a few unnecessary register moves goos: linux goarch: ppc64le pkg: golang.org/x/crypto/internal/poly1305 cpu: POWER10 │ poly.orig.out │ poly.out │ │ sec/op │ sec/op vs base │ 64 40.34n ± 0% 38.13n ± 0% -5.47% (p=0.002 n=6) 1K 482.2n ± 0% 444.6n ± 0% -7.81% (p=0.002 n=6) 2M 978.4µ ± 0% 879.3µ ± 0% -10.12% (p=0.002 n=6) 64Unaligned 40.35n ± 0% 38.16n ± 0% -5.42% (p=0.002 n=6) 1KUnaligned 482.0n ± 0% 444.2n ± 0% -7.84% (p=0.002 n=6) 2MUnaligned 978.4µ ± 0% 879.4µ ± 0% -10.12% (p=0.002 n=6) Write64 32.69n ± 0% 30.71n ± 0% -6.04% (p=0.002 n=6) Write1K 472.4n ± 0% 436.5n ± 0% -7.60% (p=0.002 n=6) Write2M 978.3µ ± 0% 879.4µ ± 0% -10.11% (p=0.002 n=6) Write64Unaligned 32.67n ± 0% 30.71n ± 0% -6.00% (p=0.002 n=6) Write1KUnaligned 472.6n ± 0% 436.4n ± 0% -7.66% (p=0.002 n=6) Write2MUnaligned 978.5µ ± 0% 879.6µ ± 0% -10.10% (p=0.002 n=6) geomean 2.569µ 2.367µ -7.87% Change-Id: I63314e7252ef10fb2d157f623c4bc2e31a63ae32 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/558775 Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Paul Murphy <murp@ibm.com> Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
This repository holds supplementary Go cryptography libraries.
The easiest way to install is to run go get -u golang.org/x/crypto/...
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/crypto
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the crypto repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/crypto:” in the subject line, so it is easy to find.
Note that contributions to the cryptography package receive additional scrutiny due to their sensitive nature. Patches may take longer than normal to receive feedback.