README, CLAUDE.md, man pages, the user guide and its screenshot script now describe the Rust build and the intentional behaviour changes, which docs/MIGRATION.md lists. Go and Rust micro-benchmarks for the same operations, and scripts/bench.sh for end-to-end comparison. build.sh exports its tree root to the per-target jobs and keeps logs out of the output directory; riscv64 musl builds use getrandom's raw syscall backend, since zig's musl getrandom never reaches the kernel there. Co-Authored-By: Claude <noreply@anthropic.com>
24 lines
479 B
Go
24 lines
479 B
Go
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
// Test-only benchmarks for comparing with the Rust port (scripts/bench.sh).
|
|
|
|
package main
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
// Unlocking a key file: Argon2id for both slots.
|
|
func BenchmarkOracleUnlock(b *testing.B) {
|
|
p := filepath.Join(b.TempDir(), "key")
|
|
if err := writeKeyFile(p, "bench", ""); err != nil {
|
|
b.Fatal(err)
|
|
}
|
|
for b.Loop() {
|
|
if _, err := unlockKeyFile(p, "bench"); err != nil {
|
|
b.Fatal(err)
|
|
}
|
|
}
|
|
}
|