lib/model: Verify request content against weak (and possibly strong) hash (#4767)
This commit is contained in:
committed by
Jakob Borg
parent
678c80ffe4
commit
ef0dcea6a4
@@ -11,6 +11,10 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/chmduquesne/rollinghash/adler32"
|
||||
"github.com/chmduquesne/rollinghash/bozo32"
|
||||
"github.com/chmduquesne/rollinghash/buzhash32"
|
||||
"github.com/chmduquesne/rollinghash/buzhash64"
|
||||
"github.com/chmduquesne/rollinghash/rabinkarp64"
|
||||
)
|
||||
|
||||
const testFile = "../model/testdata/~syncthing~file.tmp"
|
||||
@@ -59,3 +63,115 @@ func BenchmarkWeakHashAdler32Roll(b *testing.B) {
|
||||
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashRabinKarp64(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := rabinkarp64.New()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
hf.Write(data)
|
||||
}
|
||||
|
||||
_ = hf.Sum64()
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashRabinKarp64Roll(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := rabinkarp64.New()
|
||||
hf.Write(data)
|
||||
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
for i := 0; i <= size; i++ {
|
||||
hf.Roll('a')
|
||||
}
|
||||
}
|
||||
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashBozo32(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := bozo32.New()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
hf.Write(data)
|
||||
}
|
||||
|
||||
_ = hf.Sum32()
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashBozo32Roll(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := bozo32.New()
|
||||
hf.Write(data)
|
||||
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
for i := 0; i <= size; i++ {
|
||||
hf.Roll('a')
|
||||
}
|
||||
}
|
||||
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashBuzhash32(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := buzhash32.New()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
hf.Write(data)
|
||||
}
|
||||
|
||||
_ = hf.Sum32()
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashBuzhash32Roll(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := buzhash32.New()
|
||||
hf.Write(data)
|
||||
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
for i := 0; i <= size; i++ {
|
||||
hf.Roll('a')
|
||||
}
|
||||
}
|
||||
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashBuzhash64(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := buzhash64.New()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
hf.Write(data)
|
||||
}
|
||||
|
||||
_ = hf.Sum64()
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
func BenchmarkWeakHashBuzhash64Roll(b *testing.B) {
|
||||
data := make([]byte, size)
|
||||
hf := buzhash64.New()
|
||||
hf.Write(data)
|
||||
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
for i := 0; i <= size; i++ {
|
||||
hf.Roll('a')
|
||||
}
|
||||
}
|
||||
|
||||
b.SetBytes(size)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user