Commit 03c52a5d authored by Eric Roshan-Eisner's avatar Eric Roshan-Eisner Committed by Adam Langley

crypto: use better hash benchmarks

Labels the existing benchmark as stream, and add benchmarks that
compute the checksum.

R=golang-dev, agl
CC=golang-dev
https://golang.org/cl/6814060
parent 824b3326
...@@ -80,26 +80,26 @@ func ExampleNew() { ...@@ -80,26 +80,26 @@ func ExampleNew() {
} }
var bench = md5.New() var bench = md5.New()
var buf = makeBuf() var buf = make([]byte, 8192)
func makeBuf() []byte { func benchmarkSize(b *testing.B, size int) {
b := make([]byte, 8<<10) b.SetBytes(int64(size))
for i := range b { sum := make([]byte, bench.Size())
b[i] = byte(i) for i := 0; i < b.N; i++ {
bench.Reset()
bench.Write(buf[:size])
bench.Sum(sum[:0])
} }
return b }
func BenchmarkHash8Bytes(b *testing.B) {
benchmarkSize(b, 8)
} }
func BenchmarkHash1K(b *testing.B) { func BenchmarkHash1K(b *testing.B) {
b.SetBytes(1024) benchmarkSize(b, 1024)
for i := 0; i < b.N; i++ {
bench.Write(buf[:1024])
}
} }
func BenchmarkHash8K(b *testing.B) { func BenchmarkHash8K(b *testing.B) {
b.SetBytes(int64(len(buf))) benchmarkSize(b, 8192)
for i := 0; i < b.N; i++ {
bench.Write(buf)
}
} }
...@@ -81,26 +81,26 @@ func ExampleNew() { ...@@ -81,26 +81,26 @@ func ExampleNew() {
} }
var bench = sha1.New() var bench = sha1.New()
var buf = makeBuf() var buf = make([]byte, 8192)
func makeBuf() []byte { func benchmarkSize(b *testing.B, size int) {
b := make([]byte, 8<<10) b.SetBytes(int64(size))
for i := range b { sum := make([]byte, bench.Size())
b[i] = byte(i) for i := 0; i < b.N; i++ {
bench.Reset()
bench.Write(buf[:size])
bench.Sum(sum[:0])
} }
return b }
func BenchmarkHash8Bytes(b *testing.B) {
benchmarkSize(b, 8)
} }
func BenchmarkHash1K(b *testing.B) { func BenchmarkHash1K(b *testing.B) {
b.SetBytes(1024) benchmarkSize(b, 1024)
for i := 0; i < b.N; i++ {
bench.Write(buf[:1024])
}
} }
func BenchmarkHash8K(b *testing.B) { func BenchmarkHash8K(b *testing.B) {
b.SetBytes(int64(len(buf))) benchmarkSize(b, 8192)
for i := 0; i < b.N; i++ {
bench.Write(buf)
}
} }
...@@ -125,26 +125,26 @@ func TestGolden(t *testing.T) { ...@@ -125,26 +125,26 @@ func TestGolden(t *testing.T) {
} }
var bench = New() var bench = New()
var buf = makeBuf() var buf = make([]byte, 8192)
func makeBuf() []byte { func benchmarkSize(b *testing.B, size int) {
b := make([]byte, 8<<10) b.SetBytes(int64(size))
for i := range b { sum := make([]byte, bench.Size())
b[i] = byte(i) for i := 0; i < b.N; i++ {
bench.Reset()
bench.Write(buf[:size])
bench.Sum(sum[:0])
} }
return b }
func BenchmarkHash8Bytes(b *testing.B) {
benchmarkSize(b, 8)
} }
func BenchmarkHash1K(b *testing.B) { func BenchmarkHash1K(b *testing.B) {
b.SetBytes(1024) benchmarkSize(b, 1024)
for i := 0; i < b.N; i++ {
bench.Write(buf[:1024])
}
} }
func BenchmarkHash8K(b *testing.B) { func BenchmarkHash8K(b *testing.B) {
b.SetBytes(int64(len(buf))) benchmarkSize(b, 8192)
for i := 0; i < b.N; i++ {
bench.Write(buf)
}
} }
...@@ -125,26 +125,26 @@ func TestGolden(t *testing.T) { ...@@ -125,26 +125,26 @@ func TestGolden(t *testing.T) {
} }
var bench = New() var bench = New()
var buf = makeBuf() var buf = make([]byte, 8192)
func makeBuf() []byte { func benchmarkSize(b *testing.B, size int) {
b := make([]byte, 8<<10) b.SetBytes(int64(size))
for i := range b { sum := make([]byte, bench.Size())
b[i] = byte(i) for i := 0; i < b.N; i++ {
bench.Reset()
bench.Write(buf[:size])
bench.Sum(sum[:0])
} }
return b }
func BenchmarkHash8Bytes(b *testing.B) {
benchmarkSize(b, 8)
} }
func BenchmarkHash1K(b *testing.B) { func BenchmarkHash1K(b *testing.B) {
b.SetBytes(1024) benchmarkSize(b, 1024)
for i := 0; i < b.N; i++ {
bench.Write(buf[:1024])
}
} }
func BenchmarkHash8K(b *testing.B) { func BenchmarkHash8K(b *testing.B) {
b.SetBytes(int64(len(buf))) benchmarkSize(b, 8192)
for i := 0; i < b.N; i++ {
bench.Write(buf)
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment