mirror of
https://github.com/vacp2p/zerokit.git
synced 2025-02-17 00:47:01 +00:00
add benchmark
This commit is contained in:
parent
e6238fd722
commit
15f16c6ba7
@ -94,3 +94,7 @@ harness = false
|
||||
[[bench]]
|
||||
name = "poseidon_tree_benchmark"
|
||||
harness = false
|
||||
|
||||
[[bench]]
|
||||
name = "serialize_benchmark"
|
||||
harness = false
|
||||
|
37
rln/benches/serialize_benchmark.rs
Normal file
37
rln/benches/serialize_benchmark.rs
Normal file
@ -0,0 +1,37 @@
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use rln::circuit::TEST_TREE_HEIGHT;
|
||||
use rln::protocol::*;
|
||||
|
||||
pub fn rln_witness_benchmark(c: &mut Criterion) {
|
||||
let rln_witness = random_rln_witness(TEST_TREE_HEIGHT);
|
||||
|
||||
c.bench_function("rln_witness::full_cycle", |b| {
|
||||
b.iter(|| {
|
||||
let ser = serialize_witness(&rln_witness).unwrap();
|
||||
let (deser, _) = deserialize_witness(&ser).unwrap();
|
||||
let rln_witness_json = rln_witness_to_json(&deser).unwrap();
|
||||
let _ = rln_witness_from_json(rln_witness_json).unwrap();
|
||||
})
|
||||
});
|
||||
|
||||
c.bench_function("rln_witness::serialize_cycle", |b| {
|
||||
b.iter(|| {
|
||||
let ser = serialize_witness(&rln_witness).unwrap();
|
||||
let _ = deserialize_witness(&ser).unwrap();
|
||||
})
|
||||
});
|
||||
|
||||
c.bench_function("rln_witness::json_cycle", |b| {
|
||||
b.iter(|| {
|
||||
let rln_witness_json = rln_witness_to_json(&rln_witness).unwrap();
|
||||
let _ = rln_witness_from_json(rln_witness_json).unwrap();
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
criterion_group! {
|
||||
name = benches;
|
||||
config = Criterion::default().measurement_time(std::time::Duration::from_secs(10));
|
||||
targets = rln_witness_benchmark
|
||||
}
|
||||
criterion_main!(benches);
|
Loading…
x
Reference in New Issue
Block a user