blake2b: add loong64 SIMD implementation
Benchmark results on Loongson-3C6000 @ 2.20GHz:
goos: linux
goarch: loong64
pkg: golang.org/x/crypto/blake2b
cpu: Loongson-3C6000/S @ 2200.00MHz
| old.bench | new.bench |
| sec/op | sec/op vs base |
Write128 350.0n ± 0% 178.3n ± 0% -49.06% (p=0.000 n=10)
Write1K 2.687µ ± 0% 1.286µ ± 0% -52.14% (p=0.000 n=10)
Sum128 362.6n ± 0% 183.7n ± 0% -49.34% (p=0.000 n=10)
Sum1K 2.788µ ± 0% 1.295µ ± 0% -53.54% (p=0.000 n=10)
geomean 987.4n 483.3n -51.06%
| old.bench | new.bench |
| B/s | B/s vs base |
Write128 348.8Mi ± 0% 684.8Mi ± 0% +96.31% (p=0.000 n=10)
Write1K 363.5Mi ± 0% 759.6Mi ± 0% +108.99% (p=0.000 n=10)
Sum128 336.6Mi ± 0% 664.4Mi ± 0% +97.37% (p=0.000 n=10)
Sum1K 350.3Mi ± 0% 754.0Mi ± 0% +115.23% (p=0.000 n=10)
geomean 349.7Mi 714.5Mi +104.32%
Change-Id: I181a0284c5913cca34f074466f7d83439554e450
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/659775
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
This repository holds supplementary Go cryptography packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/crypto.
The main issue tracker for the crypto repository is located at https://go.dev/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.