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