]> Cypherpunks repositories - gostls13.git/commit
crypto/sha1: optimize arm64 sha1 implemention
authorfanzha02 <fannie.zhang@arm.com>
Tue, 8 Aug 2017 06:13:43 +0000 (06:13 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 14 Nov 2017 18:17:59 +0000 (18:17 +0000)
commit44877315efba1c3e98ae7cde96fa46376fbaf0fd
treee1c726018042ede00f3ab410a021072ac254630c
parent2955a8a6cccc4afe53da266bbb0b8f6fe52974aa
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>
src/crypto/sha1/sha1block_arm64.go [new file with mode: 0644]
src/crypto/sha1/sha1block_arm64.s [new file with mode: 0644]
src/crypto/sha1/sha1block_generic.go