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 Revert "bufio: make Reader.Peek invalidate Unreads" 2017-07-06 03:06:44 +00:00
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 flag: make default Usage prefer CommandLine's output over just os.Stderr 2017-08-08 01:47:47 +00:00
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 html: updated entity spec link 2017-08-08 04:29:35 +00:00
image
index/suffixarray
internal runtime, internal/cpu: CPU capabilities detection for ppc64x 2017-08-14 12:16:42 +00:00
io io/ioutil: add example for ReadFile 2017-07-15 23:28:44 +00:00
log log: adds a Logger Output method Example 2017-07-16 03:57:11 +00:00
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 regexp: example for MatchString function 2017-07-15 21:13:35 +00:00
runtime runtime: fix false positive race in profile label reading 2017-08-18 21:40:37 +00:00
sort sort: add example for Strings 2017-07-15 23:17:23 +00:00
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 sync: delete a sentence from the Map docs 2017-07-21 22:00:47 +00:00
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