go/src
Vlad Krasnov b2174a16c0 crypto/aes: make the GHASH part of AES-GCM faster
By processing 8 blocks in parallel GHASH achieves higher throughput on amd64

Results on Skylake i7:

benchmark                   old ns/op     new ns/op     delta
BenchmarkAESGCMSeal1K-8     316           314           -0.63%
BenchmarkAESGCMOpen1K-8     282           281           -0.35%
BenchmarkAESGCMSign8K-8     5611          1099          -80.41%
BenchmarkAESGCMSeal8K-8     1869          1922          +2.84%
BenchmarkAESGCMOpen8K-8     1718          1724          +0.35%

benchmark                   old MB/s     new MB/s     speedup
BenchmarkAESGCMSeal1K-8     3237.10      3260.94      1.01x
BenchmarkAESGCMOpen1K-8     3629.74      3638.10      1.00x
BenchmarkAESGCMSign8K-8     1459.82      7452.99      5.11x
BenchmarkAESGCMSeal8K-8     4382.45      4260.93      0.97x
BenchmarkAESGCMOpen8K-8     4766.41      4750.54      1.00x

Change-Id: I479f2a791a968caa1c516115b0b6b96a791a20d2
Reviewed-on: https://go-review.googlesource.com/57150
Reviewed-by: Adam Langley <agl@golang.org>
2017-08-18 21:40:57 +00:00
..
archive archive/tar: add reader/writer benchmarks 2017-08-16 20:51:52 +00:00
bufio
builtin
bytes bytes: clean-up of buffer.go 2017-08-18 17:41:11 +00:00
cmd cmd/compile/internal/amd64: add ADD[Q|L]constmem 2017-08-18 18:55:44 +00:00
compress
container
context
crypto crypto/aes: make the GHASH part of AES-GCM faster 2017-08-18 21:40:57 +00:00
database/sql database/sql: fail on unsupported options when context is un-cancellable 2017-08-09 20:06:20 +00:00
debug all: unindent some big chunks of code 2017-08-18 06:59:48 +00:00
encoding encoding/asn1: handle application tag in Marshal 2017-08-15 18:45:39 +00:00
errors
expvar
flag
fmt fmt: add Stringer example 2017-08-16 18:02:42 +00:00
go all: unindent some big chunks of code 2017-08-18 06:59:48 +00:00
hash
html
image
index/suffixarray
internal runtime, internal/cpu: CPU capabilities detection for ppc64x 2017-08-14 12:16:42 +00:00
io
log
math math: implement the erfinv function 2017-08-18 13:30:46 +00:00
mime
net {net,os/user,plugin}: eliminate unnecessary C round-trips 2017-08-17 18:14:16 +00:00
os {net,os/user,plugin}: eliminate unnecessary C round-trips 2017-08-17 18:14:16 +00:00
path
plugin {net,os/user,plugin}: eliminate unnecessary C round-trips 2017-08-17 18:14:16 +00:00
reflect reflect: remove useless parameter from newName 2017-08-16 15:11:03 +00:00
regexp
runtime runtime: fix false positive race in profile label reading 2017-08-18 21:40:37 +00:00
sort
strconv strconv: cleanup variable declarations in ParseUint 2017-08-15 04:24:52 +00:00
strings strings: use slice instead of list and array in Fields comment 2017-08-14 21:25:53 +00:00
sync
syscall syscall: really use utimensat for UtimesNano on Solaris 2017-08-15 16:56:03 +00:00
testing testing: don't fail all tests after racy test failure 2017-08-15 22:59:26 +00:00
text all: unindent some big chunks of code 2017-08-18 06:59:48 +00:00
time time: add leap year test for Date 2017-08-18 16:55:11 +00:00
unicode
unsafe
vendor/golang_org/x
Make.dist
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash
make.bash
make.bat
make.rc
naclmake.bash
nacltest.bash
race.bash
race.bat
run.bash
run.bat
run.rc