2021-06-18 01:17:41 -07:00
|
|
|
use criterion::{criterion_group, criterion_main, Criterion};
|
|
|
|
use sync::{scan_all, NETWORK};
|
2021-06-26 02:52:03 -07:00
|
|
|
use tokio::runtime::Runtime;
|
2021-06-18 01:17:41 -07:00
|
|
|
use zcash_client_backend::encoding::decode_extended_full_viewing_key;
|
|
|
|
use zcash_primitives::consensus::Parameters;
|
|
|
|
|
|
|
|
fn scan(c: &mut Criterion) {
|
|
|
|
dotenv::dotenv().unwrap();
|
|
|
|
env_logger::init();
|
|
|
|
|
|
|
|
let ivk = dotenv::var("IVK").unwrap();
|
|
|
|
let fvk =
|
|
|
|
decode_extended_full_viewing_key(NETWORK.hrp_sapling_extended_full_viewing_key(), &ivk)
|
|
|
|
.unwrap()
|
|
|
|
.unwrap();
|
|
|
|
|
2021-06-21 17:33:13 -07:00
|
|
|
let fvks = &vec![fvk];
|
2021-06-18 01:17:41 -07:00
|
|
|
|
|
|
|
c.bench_function("scan all", |b| {
|
|
|
|
b.iter(|| {
|
|
|
|
let r = Runtime::new().unwrap();
|
2021-06-21 17:33:13 -07:00
|
|
|
r.block_on(scan_all(fvks.clone().as_slice())).unwrap();
|
2021-06-18 01:17:41 -07:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
criterion_group!(
|
|
|
|
name = benches;
|
|
|
|
config = Criterion::default().sample_size(10);
|
|
|
|
targets = scan);
|
|
|
|
criterion_main!(benches);
|