mirror of
https://github.com/vacp2p/zerokit.git
synced 2025-02-20 02:08:13 +00:00
add benchmark
This commit is contained in:
parent
e6238fd722
commit
15f16c6ba7
@ -94,3 +94,7 @@ harness = false
|
|||||||
[[bench]]
|
[[bench]]
|
||||||
name = "poseidon_tree_benchmark"
|
name = "poseidon_tree_benchmark"
|
||||||
harness = false
|
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