mirror of
https://github.com/tweag/nickel.git
synced 2024-10-04 23:27:15 +03:00
small fix in ncl_bench_group
macro and update benches to use this
macro
This commit is contained in:
parent
bbf49162f7
commit
d9be58e6e9
@ -1,165 +1,107 @@
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use nickel_lang_utilities::{bench_terms, Bench, EvalMode};
|
||||
use criterion::{criterion_main, Criterion};
|
||||
use nickel_lang_utilities::{ncl_bench_group, EvalMode};
|
||||
use pprof::criterion::{Output, PProfProfiler};
|
||||
|
||||
pub fn benches() {
|
||||
let config =
|
||||
Criterion::default().with_profiler(PProfProfiler::new(100, Output::Flamegraph(None)));
|
||||
let mut criterion: Criterion<_> = config.configure_from_args();
|
||||
let target = bench_terms(vec![
|
||||
Bench::bench(
|
||||
"foldr strings 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("right.strings"),
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldr deepseq strings 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("right.strings"),
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldr nums 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("right.nums"),
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldr deepseq nums 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("right.nums"),
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldr arrays 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("right.arrays"),
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldr deepseq arrays 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("right.arrays"),
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldl strings 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("left.strings"),
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldl deepseq strings 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("left.strings"),
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldl nums 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("left.nums"),
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldl deepseq nums 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("left.nums"),
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldl arrays 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("left.arrays"),
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"foldl deepseq arrays 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/fold",
|
||||
Some("left.arrays"),
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"generate normal 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/generate",
|
||||
None,
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"generate deepseq 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/generate",
|
||||
None,
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"map normal 50",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/map",
|
||||
None,
|
||||
50,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"map deepseq 30",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/map",
|
||||
None,
|
||||
30,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"pipe normal 20",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/pipe",
|
||||
None,
|
||||
20,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
Bench::bench(
|
||||
"pipe deepseq 20",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/pipe",
|
||||
None,
|
||||
20,
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench(
|
||||
"sort normal",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"arrays/sort",
|
||||
None,
|
||||
20,
|
||||
EvalMode::Normal,
|
||||
),
|
||||
]);
|
||||
target(&mut criterion);
|
||||
ncl_bench_group! {
|
||||
name = benches;
|
||||
config = Criterion::default().with_profiler(PProfProfiler::new(100, Output::Flamegraph(None)));
|
||||
{
|
||||
name = "foldr strings 50",
|
||||
path = "arrays/fold",
|
||||
subtest = "right.strings",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "foldr deepseq strings 30",
|
||||
path = "arrays/fold",
|
||||
subtest = "right.strings",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "foldr nums 50",
|
||||
path = "arrays/fold",
|
||||
subtest = "right.nums",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "foldr deepseq nums 30",
|
||||
path = "arrays/fold",
|
||||
subtest = "right.nums",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "foldr arrays 50",
|
||||
path = "arrays/fold",
|
||||
subtest = "right.arrays",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "foldr deepseq arrays 30",
|
||||
path = "arrays/fold",
|
||||
subtest = "right.arrays",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "foldl strings 50",
|
||||
path = "arrays/fold",
|
||||
subtest = "left.strings",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "foldl deepseq strings 30",
|
||||
path = "arrays/fold",
|
||||
subtest = "left.strings",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "foldl nums 50",
|
||||
path = "arrays/fold",
|
||||
subtest = "left.nums",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "foldl deepseq nums 30",
|
||||
path = "arrays/fold",
|
||||
subtest = "left.nums",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "foldl arrays 50",
|
||||
path = "arrays/fold",
|
||||
subtest = "left.arrays",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "foldl deepseq arrays 30",
|
||||
path = "arrays/fold",
|
||||
subtest = "left.arrays",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "generate normal 50",
|
||||
path = "arrays/generate",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "generate deepseq 30",
|
||||
path = "arrays/generate",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "map normal 50",
|
||||
path = "arrays/map",
|
||||
args = (50),
|
||||
}, {
|
||||
name = "map deepseq 30",
|
||||
path = "arrays/map",
|
||||
args = (30),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "pipe normal 20",
|
||||
path = "arrays/pipe",
|
||||
args = (20),
|
||||
}, {
|
||||
name = "pipe deepseq 20",
|
||||
path = "arrays/pipe",
|
||||
args = (20),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "sort normal",
|
||||
path = "arrays/sort",
|
||||
args = (20),
|
||||
}
|
||||
}
|
||||
criterion_main!(benches);
|
||||
|
@ -1,22 +1,14 @@
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use nickel_lang::term::Term;
|
||||
use nickel_lang_utilities::{bench_terms, Bench, EvalMode};
|
||||
use nickel_lang_utilities::{ncl_bench_group, EvalMode};
|
||||
use pprof::criterion::{Output, PProfProfiler};
|
||||
|
||||
pub fn benches() {
|
||||
let config =
|
||||
Criterion::default().with_profiler(PProfProfiler::new(100, Output::Flamegraph(None)));
|
||||
let mut criterion: Criterion<_> = config.configure_from_args();
|
||||
let expect = |term| matches!(term, Term::Bool(true));
|
||||
let target = bench_terms(vec![Bench::bench_expect(
|
||||
"church 3",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"functions/church",
|
||||
None,
|
||||
3,
|
||||
EvalMode::Normal,
|
||||
expect,
|
||||
)]);
|
||||
target(&mut criterion);
|
||||
ncl_bench_group! {
|
||||
name = benches;
|
||||
config = Criterion::default().with_profiler(PProfProfiler::new(100, Output::Flamegraph(None)));
|
||||
{
|
||||
name = "church 3",
|
||||
path = "functions/church",
|
||||
args = (3),
|
||||
}
|
||||
}
|
||||
criterion_main!(benches);
|
||||
|
@ -1,4 +1,4 @@
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use criterion::{criterion_main, Criterion};
|
||||
use nickel_lang_utilities::{ncl_bench_group, EvalMode};
|
||||
use pprof::criterion::{Output, PProfProfiler};
|
||||
|
||||
|
@ -1,29 +1,20 @@
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use nickel_lang_utilities::{bench_terms, Bench, EvalMode};
|
||||
use nickel_lang_utilities::{ncl_bench_group, EvalMode};
|
||||
use pprof::criterion::{Output, PProfProfiler};
|
||||
|
||||
pub fn benches() {
|
||||
let config =
|
||||
Criterion::default().with_profiler(PProfProfiler::new(100, Output::Flamegraph(None)));
|
||||
let mut criterion: Criterion<_> = config.configure_from_args();
|
||||
let target = bench_terms(vec![
|
||||
Bench::bench_args(
|
||||
"countLetters",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"records/countLetters",
|
||||
None,
|
||||
vec![String::from(include_str!("lorem.txt"))],
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
Bench::bench_args(
|
||||
"merge",
|
||||
env!("CARGO_MANIFEST_DIR"),
|
||||
"records/merge",
|
||||
None,
|
||||
vec![String::from("500"), String::from("50")],
|
||||
EvalMode::DeepSeq,
|
||||
),
|
||||
]);
|
||||
target(&mut criterion);
|
||||
ncl_bench_group! {
|
||||
name = benches;
|
||||
config = Criterion::default().with_profiler(PProfProfiler::new(100, Output::Flamegraph(None)));
|
||||
{
|
||||
name = "countLetters",
|
||||
path = "records/countLetters",
|
||||
args = (include_str!("lorem.txt")),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}, {
|
||||
name = "merge",
|
||||
path = "records/merge",
|
||||
args = (500, 50),
|
||||
eval_mode = EvalMode::DeepSeq,
|
||||
}
|
||||
}
|
||||
criterion_main!(benches);
|
||||
|
@ -187,7 +187,7 @@ macro_rules! ncl_bench {
|
||||
$( base_dir = $base_dir:literal, )?
|
||||
path = $subpath:literal,
|
||||
$( subtest = $subtest:literal, )?
|
||||
$( args = ( $( $arg:literal ),* ),)?
|
||||
$( args = ( $( $arg:expr ),* ),)?
|
||||
$( eval_mode = $eval_mode:path,)?
|
||||
$( pred = $pred:expr,)?
|
||||
} => {
|
||||
|
Loading…
Reference in New Issue
Block a user