commit | 20be4c3c3ed52bfccdb2d59a412ee1a936d175a7 | [log] [tgz] |
---|---|---|
author | Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> | Mon Apr 15 21:04:41 2019 -0300 |
committer | Lynn Boger <laboger@linux.vnet.ibm.com> | Thu May 30 12:26:14 2019 +0000 |
tree | 187ba0d06307d9e5ac95e9453f2640ed6e3e2740 | |
parent | 22d7a77e9e5f409e934ed268692e56707cd169e5 [diff] |
internal/chacha20: improve performance for ppc64le Add asm implementation for chacha20 using vector instructions on ppc64le. Below, the difference using the new code: name old speed new speed delta ChaCha20/32-16 167MB/s ± 0% 129MB/s ± 0% -22.60% (p=0.008 n=5+5) ChaCha20/63-16 308MB/s ± 0% 249MB/s ± 0% -19.00% (p=0.008 n=5+5) ChaCha20/64-16 357MB/s ± 0% 251MB/s ± 0% -29.57% (p=0.008 n=5+5) ChaCha20/256-16 398MB/s ± 0% 1199MB/s ± 0% +201.20% (p=0.008 n=5+5) ChaCha20/1024-16 413MB/s ± 0% 1398MB/s ± 0% +238.67% (p=0.008 n=5+5) ChaCha20/1350-16 395MB/s ± 0% 1189MB/s ± 0% +200.71% (p=0.008 n=5+5) ChaCha20/65536-16 420MB/s ± 0% 1489MB/s ± 0% +254.10% (p=0.008 n=5+5) Small sizes are slower due the fact that it always calculates using 256 bytes of key stream. This change was originally from Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com> and started as CL 108999 (https://go-review.googlesource.com/c/crypto/+/108999). Fixes golang/go#25051 Change-Id: Ie510494249b227379e23d993467256b3d4088035 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/172177 Run-TryBot: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.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.