use blake3::Hash;
use ed25519_dalek::{Signer, SigningKey};
use rand::rngs::OsRng;
use std::time::Instant;
fn main() {
let mut csprng = OsRng;
let signing_key = SigningKey::generate(&mut csprng);
let data = b"test ppp provenanceplacepurposebenchmeasurebench_001trueautonomous";
let iterations = 1_000_000;
let start = Instant::now();
for _ in 0..iterations {
let hash = blake3::hash(data);
let _sig = signing_key.sign(hash.as_bytes());
}
let elapsed = start.elapsed();
let avg_ns = elapsed.as_nanos() as f64 / iterations as f64;
println!("Raw AKI gross speed (BLAKE3 hash + Ed25519 sign) over {} iterations:", iterations);
println!("Total time: {:?}", elapsed);
println!("Average latency: {:.2} ns ({:.4} µs)", avg_ns, avg_ns / 1000.0);
}