1
0
mirror of https://github.com/golang/go synced 2024-11-08 04:56:16 -07:00
go/src/crypto
fanzha02 44877315ef crypto/sha1: optimize arm64 sha1 implemention
Optimize with ARMv8 SHA1 instructions.
Results (Cortex-A72)

name             old time/op    new time/op     delta
Hash8Bytes-64      1.06µs ± 4%     0.56µs ± 4%   -47.19%  (p=0.008 n=5+5)
Hash320Bytes-64    3.92µs ± 1%     0.82µs ± 2%   -79.07%  (p=0.008 n=5+5)
Hash1K-64          10.2µs ± 2%      1.5µs ± 2%   -85.71%  (p=0.008 n=5+5)
Hash8K-64          73.9µs ± 1%      7.6µs ± 1%   -89.66%  (p=0.008 n=5+5)

name             old speed      new speed       delta
Hash8Bytes-64    7.55MB/s ± 4%  14.29MB/s ± 4%   +89.27%  (p=0.008 n=5+5)
Hash320Bytes-64  81.6MB/s ± 1%  390.0MB/s ± 2%  +377.64%  (p=0.008 n=5+5)
Hash1K-64         100MB/s ± 2%    701MB/s ± 2%  +599.65%  (p=0.008 n=5+5)
Hash8K-64         111MB/s ± 1%   1072MB/s ± 1%  +867.44%  (p=0.008 n=5+5)

Change-Id: I84397f980db9518f4150ac4c5ffa2c5a97a34444
Reviewed-on: https://go-review.googlesource.com/61550
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-11-14 18:17:59 +00:00
..
aes crypto/aes: use s390x KMA instruction for AES-GCM if available 2017-11-06 07:58:37 +00:00
cipher crypto/cipher, crypto/rc4: make overlap rules wording consistent 2017-10-31 22:36:43 +00:00
des crypto: revise wording about cryptographically broken algorithms 2017-05-04 12:31:18 +00:00
dsa all: fix article typos 2017-09-15 02:39:16 +00:00
ecdsa crypto/{ecdsa,rsa}: rename argument to PrivateKey.Sign. 2017-10-29 19:45:11 +00:00
elliptic crypto/elliptic: reduce allocations in s390x P256 code 2017-11-13 21:31:57 +00:00
hmac
internal/cipherhw
md5 crypto, hash: implement BinaryMarshaler, BinaryUnmarshaler in hash implementations 2017-11-01 21:04:12 +00:00
rand crypto/rand: batch large calls to linux getrandom 2017-08-09 19:29:14 +00:00
rc4 crypto/cipher, crypto/rc4: make overlap rules wording consistent 2017-10-31 22:36:43 +00:00
rsa crypto/{ecdsa,rsa}: rename argument to PrivateKey.Sign. 2017-10-29 19:45:11 +00:00
sha1 crypto/sha1: optimize arm64 sha1 implemention 2017-11-14 18:17:59 +00:00
sha256 crypto, hash: implement BinaryMarshaler, BinaryUnmarshaler in hash implementations 2017-11-01 21:04:12 +00:00
sha512 crypto, hash: implement BinaryMarshaler, BinaryUnmarshaler in hash implementations 2017-11-01 21:04:12 +00:00
subtle crypto/subtle: simplify and speed up constant-time primitives 2017-11-10 03:47:57 +00:00
tls crypto/tls: limit number of consecutive warning alerts 2017-11-08 23:18:52 +00:00
x509 crypto/x509: handle name constraints with cryptobyte 2017-11-12 01:19:40 +00:00
crypto.go
issue21104_test.go crypto/{aes,cipher,rc4}: fix out of bounds write in stream ciphers 2017-08-09 04:17:51 +00:00