Move streamer bench into standalone executable
It doesn't make use of criterion (or libtest)
This commit is contained in:
parent
637f890b91
commit
7193bf28b6
|
@ -21,6 +21,10 @@ license = "Apache-2.0"
|
||||||
name = "solana-bench-tps"
|
name = "solana-bench-tps"
|
||||||
path = "src/bin/bench-tps.rs"
|
path = "src/bin/bench-tps.rs"
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "solana-bench-streamer"
|
||||||
|
path = "src/bin/bench-streamer.rs"
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
name = "solana-wallet"
|
name = "solana-wallet"
|
||||||
path = "src/bin/wallet.rs"
|
path = "src/bin/wallet.rs"
|
||||||
|
@ -105,7 +109,3 @@ harness = false
|
||||||
[[bench]]
|
[[bench]]
|
||||||
name = "signature"
|
name = "signature"
|
||||||
harness = false
|
harness = false
|
||||||
|
|
||||||
[[bench]]
|
|
||||||
name = "streamer"
|
|
||||||
harness = false
|
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
#[macro_use]
|
|
||||||
extern crate log;
|
|
||||||
extern crate solana;
|
extern crate solana;
|
||||||
#[macro_use]
|
|
||||||
extern crate criterion;
|
|
||||||
|
|
||||||
use criterion::{Bencher, Criterion};
|
|
||||||
use solana::packet::{Packet, PacketRecycler, BLOB_SIZE, PACKET_DATA_SIZE};
|
use solana::packet::{Packet, PacketRecycler, BLOB_SIZE, PACKET_DATA_SIZE};
|
||||||
use solana::result::Result;
|
use solana::result::Result;
|
||||||
use solana::streamer::{receiver, PacketReceiver};
|
use solana::streamer::{receiver, PacketReceiver};
|
||||||
|
@ -62,7 +57,7 @@ fn sink(
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bench_streamer_with_result() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
let read = UdpSocket::bind("127.0.0.1:0")?;
|
let read = UdpSocket::bind("127.0.0.1:0")?;
|
||||||
read.set_read_timeout(Some(Duration::new(1, 0)))?;
|
read.set_read_timeout(Some(Duration::new(1, 0)))?;
|
||||||
|
|
||||||
|
@ -87,7 +82,7 @@ fn bench_streamer_with_result() -> Result<()> {
|
||||||
let time = elapsed.as_secs() * 10000000000 + elapsed.subsec_nanos() as u64;
|
let time = elapsed.as_secs() * 10000000000 + elapsed.subsec_nanos() as u64;
|
||||||
let ftime = (time as f64) / 10000000000f64;
|
let ftime = (time as f64) / 10000000000f64;
|
||||||
let fcount = (end_val - start_val) as f64;
|
let fcount = (end_val - start_val) as f64;
|
||||||
trace!("performance: {:?}", fcount / ftime);
|
println!("performance: {:?}", fcount / ftime);
|
||||||
exit.store(true, Ordering::Relaxed);
|
exit.store(true, Ordering::Relaxed);
|
||||||
t_reader.join()?;
|
t_reader.join()?;
|
||||||
t_producer1.join()?;
|
t_producer1.join()?;
|
||||||
|
@ -96,22 +91,3 @@ fn bench_streamer_with_result() -> Result<()> {
|
||||||
t_sink.join()?;
|
t_sink.join()?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bench_streamer(bencher: &mut Bencher) {
|
|
||||||
bencher.iter(|| {
|
|
||||||
bench_streamer_with_result().unwrap();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
fn bench(criterion: &mut Criterion) {
|
|
||||||
criterion.bench_function("bench_streamer", |bencher| {
|
|
||||||
bench_streamer(bencher);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
criterion_group!(
|
|
||||||
name = benches;
|
|
||||||
config = Criterion::default().sample_size(2);
|
|
||||||
targets = bench
|
|
||||||
);
|
|
||||||
criterion_main!(benches);
|
|
Loading…
Reference in New Issue