diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2026-10-20 16:10:18 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2026-10-20 16:33:08 -0700 |
| commit | 78ff3c607a6b7252c872ee6393c504d87c371489 (patch) | |
| tree | 16773e064500935d7ff59436db51c87083a678cb /tools/finditer/finditer.go | |
| parent | Add a link to temporarily log in another device (diff) | |
| download | roseh.moe-78ff3c607a6b7252c872ee6393c504d87c371489.tar.zst | |
Remove a lot of files that aren't necessary
Diffstat (limited to 'tools/finditer/finditer.go')
| -rw-r--r-- | tools/finditer/finditer.go | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/tools/finditer/finditer.go b/tools/finditer/finditer.go deleted file mode 100644 index f5bf75f..0000000 --- a/tools/finditer/finditer.go +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2026 Rose Hogenson <r@roseh.moe> -// -// This file is part of roseh.moe. -// -// roseh.moe is free software: you can redistribute it and/or modify it -// under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, -// or (at your option) any later version. -// -// roseh.moe is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty -// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public -// License along with roseh.moe. If not, -// see <https://www.gnu.org/licenses/>. - -package main - -import ( - "encoding/hex" - "fmt" - "sort" - "testing" - "time" - - "roseh.moe/pkg/roseh.moe/internal/pwhash" -) - -func mustHex(s string) []byte { - b, err := hex.DecodeString(s) - if err != nil { - panic(err) - } - return b -} - -var salt = mustHex("34539b5dd2591415") - -var iter int - -func BenchmarkHashIter(b *testing.B) { - const password = "wavy upend 4z jk linda k zing four atop pi" - for b.Loop() { - pwhash.HashIter(password, salt, iter) - } -} - -func main() { - const targetTime = 5 * time.Second - 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 { - iter = lo + n - return time.Duration(testing.Benchmark(BenchmarkHashIter).NsPerOp()) > targetTime - })) -} |
