Port bank benchmark to Criterion
This commit is contained in:
parent
dfa05a8742
commit
cc89801b12
|
@ -81,3 +81,10 @@ futures = "0.1.21"
|
||||||
clap = "2.31"
|
clap = "2.31"
|
||||||
reqwest = "0.8.6"
|
reqwest = "0.8.6"
|
||||||
influx_db_client = "0.3.4"
|
influx_db_client = "0.3.4"
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
criterion = "0.2"
|
||||||
|
|
||||||
|
[[bench]]
|
||||||
|
name = "bank"
|
||||||
|
harness = false
|
||||||
|
|
|
@ -1,20 +1,18 @@
|
||||||
#![feature(test)]
|
#[macro_use]
|
||||||
|
extern crate criterion;
|
||||||
extern crate bincode;
|
extern crate bincode;
|
||||||
extern crate rayon;
|
extern crate rayon;
|
||||||
extern crate solana;
|
extern crate solana;
|
||||||
extern crate test;
|
|
||||||
|
|
||||||
use bincode::serialize;
|
use bincode::serialize;
|
||||||
|
use criterion::{Bencher, Criterion};
|
||||||
use rayon::prelude::*;
|
use rayon::prelude::*;
|
||||||
use solana::bank::*;
|
use solana::bank::*;
|
||||||
use solana::hash::hash;
|
use solana::hash::hash;
|
||||||
use solana::mint::Mint;
|
use solana::mint::Mint;
|
||||||
use solana::signature::{KeyPair, KeyPairUtil};
|
use solana::signature::{KeyPair, KeyPairUtil};
|
||||||
use solana::transaction::Transaction;
|
use solana::transaction::Transaction;
|
||||||
use test::Bencher;
|
|
||||||
|
|
||||||
#[bench]
|
|
||||||
fn bench_process_transaction(bencher: &mut Bencher) {
|
fn bench_process_transaction(bencher: &mut Bencher) {
|
||||||
let mint = Mint::new(100_000_000);
|
let mint = Mint::new(100_000_000);
|
||||||
let bank = Bank::new(&mint);
|
let bank = Bank::new(&mint);
|
||||||
|
@ -47,5 +45,14 @@ fn bench_process_transaction(bencher: &mut Bencher) {
|
||||||
|
|
||||||
let results = bank.process_transactions(transactions.clone());
|
let results = bank.process_transactions(transactions.clone());
|
||||||
assert!(results.iter().all(Result::is_ok));
|
assert!(results.iter().all(Result::is_ok));
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
fn bench(criterion: &mut Criterion) {
|
||||||
|
criterion.bench_function("bench_process_transaction", |bencher| {
|
||||||
|
bench_process_transaction(bencher);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
criterion_group!(benches, bench);
|
||||||
|
criterion_main!(benches);
|
||||||
|
|
Loading…
Reference in New Issue