Refactor sigverify to stage for signing shreds on the GPU (#6635)

automerge
This commit is contained in:
anatoly yakovenko
2019-11-06 10:52:30 -08:00
committed by Grimes
parent ec50c20400
commit 67f636545a
25 changed files with 1605 additions and 1523 deletions

44
perf/benches/sigverify.rs Normal file
View File

@ -0,0 +1,44 @@
#![feature(test)]
extern crate test;
use solana_perf::packet::to_packets;
use solana_perf::recycler::Recycler;
use solana_perf::sigverify;
use solana_perf::test_tx::test_tx;
use test::Bencher;
#[bench]
fn bench_sigverify(bencher: &mut Bencher) {
let tx = test_tx();
// generate packet vector
let batches = to_packets(&vec![tx; 128]);
let recycler = Recycler::default();
let recycler_out = Recycler::default();
// verify packets
bencher.iter(|| {
let _ans = sigverify::ed25519_verify(&batches, &recycler, &recycler_out);
})
}
#[bench]
fn bench_get_offsets(bencher: &mut Bencher) {
let tx = test_tx();
// generate packet vector
let batches = to_packets(&vec![tx; 1024]);
let recycler = Recycler::default();
// verify packets
bencher.iter(|| {
let ans = sigverify::generate_offsets(&batches, &recycler);
assert!(ans.is_ok());
let ans = ans.unwrap();
recycler.recycle(ans.0);
recycler.recycle(ans.1);
recycler.recycle(ans.2);
recycler.recycle(ans.3);
})
}