1
0
mirror of https://github.com/golang/go synced 2024-11-08 07:26:11 -07:00
go/src/crypto/sha1
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
..
example_test.go crypto/md5, crypto/sha1, crypto/sha256: add examples for checksumming a file 2016-09-19 17:29:19 +00:00
fallback_test.go
issue15617_test.go crypto/sha1: fix AVX2 variant on AMD64 2016-05-26 11:34:32 +00:00
sha1_test.go crypto, hash: implement BinaryMarshaler, BinaryUnmarshaler in hash implementations 2017-11-01 21:04:12 +00:00
sha1.go crypto, hash: implement BinaryMarshaler, BinaryUnmarshaler in hash implementations 2017-11-01 21:04:12 +00:00
sha1block_386.s crypto: document insecure algorithms 2017-05-03 18:35:48 +00:00
sha1block_amd64.go internal/cpu: new package to detect cpu features 2017-05-10 17:02:21 +00:00
sha1block_amd64.s crypto: simplify amd64 asm for sha{1,256,512} a bit 2017-09-12 18:06:37 +00:00
sha1block_amd64p32.s crypto: document insecure algorithms 2017-05-03 18:35:48 +00:00
sha1block_arm64.go crypto/sha1: optimize arm64 sha1 implemention 2017-11-14 18:17:59 +00:00
sha1block_arm64.s crypto/sha1: optimize arm64 sha1 implemention 2017-11-14 18:17:59 +00:00
sha1block_arm.s crypto: document insecure algorithms 2017-05-03 18:35:48 +00:00
sha1block_decl.go
sha1block_generic.go crypto/sha1: optimize arm64 sha1 implemention 2017-11-14 18:17:59 +00:00
sha1block_s390x.go crypto: document insecure algorithms 2017-05-03 18:35:48 +00:00
sha1block_s390x.s crypto: document insecure algorithms 2017-05-03 18:35:48 +00:00
sha1block.go crypto: document insecure algorithms 2017-05-03 18:35:48 +00:00