2018-08-22 07:57:07 -07:00
|
|
|
#![feature(test)]
|
2018-12-08 21:44:20 -08:00
|
|
|
|
2018-08-22 07:57:07 -07:00
|
|
|
extern crate test;
|
2018-08-01 14:10:39 -07:00
|
|
|
|
2021-01-28 16:32:38 -08:00
|
|
|
use solana_perf::packet::to_packets_chunked;
|
2019-11-04 20:13:43 -08:00
|
|
|
use solana_perf::recycler::Recycler;
|
2019-11-06 10:52:30 -08:00
|
|
|
use solana_perf::sigverify;
|
|
|
|
use solana_perf::test_tx::test_tx;
|
2018-08-22 07:57:07 -07:00
|
|
|
use test::Bencher;
|
2018-08-01 14:10:39 -07:00
|
|
|
|
2018-08-22 07:57:07 -07:00
|
|
|
#[bench]
|
2018-08-09 08:26:21 -07:00
|
|
|
fn bench_sigverify(bencher: &mut Bencher) {
|
2018-08-01 14:10:39 -07:00
|
|
|
let tx = test_tx();
|
|
|
|
|
|
|
|
// generate packet vector
|
2021-03-08 19:31:00 -08:00
|
|
|
let mut batches = to_packets_chunked(&std::iter::repeat(tx).take(128).collect::<Vec<_>>(), 128);
|
2018-08-01 14:10:39 -07:00
|
|
|
|
2021-04-07 08:15:38 -07:00
|
|
|
let recycler = Recycler::default();
|
|
|
|
let recycler_out = Recycler::default();
|
2018-08-01 14:10:39 -07:00
|
|
|
// verify packets
|
|
|
|
bencher.iter(|| {
|
2021-10-07 02:38:23 -07:00
|
|
|
let _ans = sigverify::ed25519_verify(&mut batches, &recycler, &recycler_out, false);
|
2018-08-01 14:10:39 -07:00
|
|
|
})
|
|
|
|
}
|
2019-10-18 17:52:59 -07:00
|
|
|
|
|
|
|
#[bench]
|
|
|
|
fn bench_get_offsets(bencher: &mut Bencher) {
|
|
|
|
let tx = test_tx();
|
|
|
|
|
|
|
|
// generate packet vector
|
2021-09-20 21:00:33 -07:00
|
|
|
let mut batches =
|
|
|
|
to_packets_chunked(&std::iter::repeat(tx).take(1024).collect::<Vec<_>>(), 1024);
|
2019-10-18 17:52:59 -07:00
|
|
|
|
2021-04-07 08:15:38 -07:00
|
|
|
let recycler = Recycler::default();
|
2019-10-18 17:52:59 -07:00
|
|
|
// verify packets
|
|
|
|
bencher.iter(|| {
|
2021-10-07 02:38:23 -07:00
|
|
|
let _ans = sigverify::generate_offsets(&mut batches, &recycler, false);
|
2019-10-18 17:52:59 -07:00
|
|
|
})
|
|
|
|
}
|