diff options
Diffstat (limited to 'tools/finditer')
| -rw-r--r-- | tools/finditer/finditer.go | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/tools/finditer/finditer.go b/tools/finditer/finditer.go index 99c17ee..a56c7fa 100644 --- a/tools/finditer/finditer.go +++ b/tools/finditer/finditer.go @@ -20,23 +20,23 @@ func mustHex(s string) []byte { var salt = mustHex("34539b5dd2591415") -func benchmarkHashIter(iter int) time.Duration { +var iter int + +func BenchmarkHashIter(b *testing.B) { const password = "wavy upend 4z jk linda k zing four atop pi" - return time.Duration(testing.Benchmark(func(b *testing.B) { - for b.Loop() { - pwhash.HashIter(password, salt, iter) - } - }).NsPerOp()) + for b.Loop() { + pwhash.HashIter(password, salt, iter) + } } func main() { const targetTime = 5 * time.Second - iter := 8192 - for ; benchmarkHashIter(iter) < targetTime; iter *= 2 { + for iter = 8192; time.Duration(testing.Benchmark(BenchmarkHashIter).NsPerOp()) < targetTime; iter *= 2 { } lo := iter / 2 hi := iter fmt.Println(lo + sort.Search(hi-lo, func(n int) bool { - return benchmarkHashIter(lo+n) > targetTime + iter = lo + n + return time.Duration(testing.Benchmark(BenchmarkHashIter).NsPerOp()) > targetTime })) } |
