pow_benchmark/
pow_benchmark.rs

1use std::time::Instant;
2
3use sampi::{SampiData, SampiKeyPair};
4
5fn main() -> anyhow::Result<()> {
6    let kp = SampiKeyPair::new();
7
8    let data = SampiData::String("Hello World! 你好!".to_string());
9    for i in 0..=200 {
10        let mut milliseconds = Vec::new();
11        for _ in 1..=100 {
12            let now = Instant::now();
13            let _s = kp.new_sampi().with_pow(i).build(vec![data.clone()])?;
14            let elapsed = now.elapsed();
15            milliseconds.push((elapsed.as_secs() * 1000) + elapsed.subsec_millis() as u64);
16        }
17        let sum: u64 = milliseconds.iter().sum();
18        println!("{},{}", i, sum / milliseconds.len() as u64);
19    }
20
21    Ok(())
22}