Skip to content

Commit 0078907

Browse files
committed
Add benchmarking using criterion
1 parent cc2e14b commit 0078907

File tree

3 files changed

+29
-11
lines changed

3 files changed

+29
-11
lines changed

Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@ env_logger = "0.7"
1818
primitive-types = "0.6"
1919
ssz = "0.1.2"
2020
ssz-derive = "0.1.2"
21+
criterion = "0.2"
22+
23+
[[bench]]
24+
name = "scout_bench"
25+
harness = false

scripts/bazaar/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ crate-type = ["cdylib"]
2020
[profile.release]
2121
lto = true
2222
debug = false
23+
opt-level = 3

src/main.rs

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ struct Runtime<'a> {
100100
code: &'a [u8],
101101
libraries: &'a Vec<Library>,
102102
ticks_left: u32,
103-
pub memory: Option<MemoryRef>,
103+
memory: Option<MemoryRef>,
104104
pre_state: &'a Bytes32,
105105
block_data: &'a ShardBlockBody,
106106
post_state: Bytes32,
@@ -928,16 +928,28 @@ fn process_yaml_test(filename: &str) -> Result<(), ScoutError> {
928928
Ok(())
929929
}
930930

931-
fn main() {
932-
env_logger::init();
931+
#[macro_use]
932+
extern crate criterion;
933933

934-
let args: Vec<String> = env::args().collect();
935-
let ret = process_yaml_test(if args.len() != 2 {
936-
"test.yaml"
937-
} else {
938-
&args[1]
934+
use criterion::black_box;
935+
use criterion::Criterion;
936+
937+
fn criterion_benchmark(c: &mut Criterion) {
938+
env_logger::init();
939+
c.bench_function("test", |b| {
940+
b.iter(|| {
941+
let args: Vec<String> = env::args().collect();
942+
let ret = process_yaml_test(if args.len() != 2 {
943+
"test.yaml"
944+
} else {
945+
&args[1]
946+
});
947+
if ret.is_err() {
948+
println!("Unexpected test failure: {:?}", ret.err().unwrap())
949+
}
950+
})
939951
});
940-
if ret.is_err() {
941-
println!("Unexpected test failure: {:?}", ret.err().unwrap())
942-
}
943952
}
953+
954+
criterion_group!(benches, criterion_benchmark);
955+
criterion_main!(benches);

0 commit comments

Comments
 (0)