* Page-pin packet memory for cuda Bring back recyclers and pin offset buffers * Add packet recycler to streamer * Add set_pinnable to sigverify vecs to pin them * Add packets reset test * Add test for recycler and reduce the gc lock critical section * Add comments/tests to cuda_runtime * Add recycler to recv_blobs path. * Add trace/names for debug and PacketsRecycler to bench-streamer * Predict realloc and unpin beforehand. * Add helper to reserve and pin * Cap buffered packets length * Call cuda wrapper functions
25 lines
550 B
Rust
25 lines
550 B
Rust
#![feature(test)]
|
|
|
|
extern crate test;
|
|
|
|
use solana::packet::to_packets;
|
|
use solana::recycler::Recycler;
|
|
use solana::sigverify;
|
|
use solana::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);
|
|
})
|
|
}
|