From cc89801b12678ee264ca827a1cd7f90e278a586f Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Tue, 10 Jul 2018 16:30:56 -0600 Subject: [PATCH] Port bank benchmark to Criterion --- Cargo.toml | 7 +++++++ benches/bank.rs | 17 ++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a8034c572a..4aeaba39e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,3 +81,10 @@ futures = "0.1.21" clap = "2.31" reqwest = "0.8.6" influx_db_client = "0.3.4" + +[dev-dependencies] +criterion = "0.2" + +[[bench]] +name = "bank" +harness = false diff --git a/benches/bank.rs b/benches/bank.rs index c650e414aa..d4632977f1 100644 --- a/benches/bank.rs +++ b/benches/bank.rs @@ -1,20 +1,18 @@ -#![feature(test)] - +#[macro_use] +extern crate criterion; extern crate bincode; extern crate rayon; extern crate solana; -extern crate test; use bincode::serialize; +use criterion::{Bencher, Criterion}; use rayon::prelude::*; use solana::bank::*; use solana::hash::hash; use solana::mint::Mint; use solana::signature::{KeyPair, KeyPairUtil}; use solana::transaction::Transaction; -use test::Bencher; -#[bench] fn bench_process_transaction(bencher: &mut Bencher) { let mint = Mint::new(100_000_000); let bank = Bank::new(&mint); @@ -47,5 +45,14 @@ fn bench_process_transaction(bencher: &mut Bencher) { let results = bank.process_transactions(transactions.clone()); 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);