Keith Randall
7a4a64e8f3
runtime: faster aeshash implementation
...
The aesenc instruction has high latency. For hashing large objects,
hash several streams in parallel.
benchmark old ns/op new ns/op delta
BenchmarkHash5 7.02 7.45 +6.13%
BenchmarkHash16 6.53 6.94 +6.28%
BenchmarkHash32 8.38 8.26 -1.43%
BenchmarkHash64 12.6 12.0 -4.76%
BenchmarkHash1024 247 62.9 -74.53%
BenchmarkHash65536 17335 2966 -82.89%
BenchmarkHashInt32Speed 14.7 14.9 +1.36%
BenchmarkHashInt64Speed 14.6 14.9 +2.05%
BenchmarkHashBytesSpeed 35.4 28.6 -19.21%
BenchmarkHashStringSpeed 22.0 20.4 -7.27%
BenchmarkHashStringArraySpeed 65.8 56.3 -14.44%
Change-Id: Ia8ba03063acc64a9066b8ab2d79f2c9aaac1770f
Reviewed-on: https://go-review.googlesource.com/1330
Reviewed-by: Russ Cox <rsc@golang.org>
2014-12-11 05:23:00 +00:00
Keith Randall
6820be25da
runtime: clean up & go-ify the hash function seeder
...
Change-Id: I0e95f8a5962c547da20e19a356ae1cf8375c9107
Reviewed-on: https://go-review.googlesource.com/1270
Reviewed-by: Russ Cox <rsc@golang.org>
2014-12-10 21:15:35 +00:00
Russ Cox
e785e3acf8
[dev.cc] runtime: convert operating system support code from C to Go
...
The conversion was done with an automated tool and then
modified only as necessary to make it compile and run.
[This CL is part of the removal of C code from package runtime.
See golang.org/s/dev.cc for an overview.]
LGTM=r
R=r
CC=austin, dvyukov, golang-codereviews, iant, khr
https://golang.org/cl/174830044
2014-11-11 17:08:54 -05:00
Russ Cox
c007ce824d
build: move package sources from src/pkg to src
...
Preparation was in CL 134570043.
This CL contains only the effect of 'hg mv src/pkg/* src'.
For more about the move, see golang.org/s/go14nopkg.
2014-09-08 00:08:51 -04:00