Skip to content
Snippets Groups Projects

Large benches

Merged rarbore2 requested to merge large-benches into main
1 file
+ 32
30
Compare changes
  • Side-by-side
  • Inline
#![feature(concat_idents)]
#![feature(concat_idents)]
use criterion::{criterion_group, criterion_main, Criterion};
use criterion::{criterion_group, criterion_main, Criterion};
use hercules_rt::{runner, HerculesImmBox, HerculesImmBoxTo, HerculesMutBox, HerculesMutBoxTo};
use hercules_rt::{runner, HerculesMutBox, HerculesMutBoxTo};
juno_build::juno!("srad");
juno_build::juno!("srad");
@@ -11,35 +11,37 @@ fn srad_bench(c: &mut Criterion) {
@@ -11,35 +11,37 @@ fn srad_bench(c: &mut Criterion) {
let mut group = c.benchmark_group("srad bench");
let mut group = c.benchmark_group("srad bench");
group.sample_size(10);
group.sample_size(10);
let mut r = runner!(srad);
let mut bench = |name, niter, nrows, ncols| {
let niter = 30;
let mut r = runner!(srad);
let lambda = 0.5;
let lambda = 0.5;
let nrows = 2048;
let image = "data/image.pgm".to_string();
let ncols = 2048;
let Image {
let image = "data/image.pgm".to_string();
image: image_ori,
let Image {
max,
image: image_ori,
rows: image_ori_rows,
max,
cols: image_ori_cols,
rows: image_ori_rows,
} = read_graphics(image);
cols: image_ori_cols,
let image = resize(&image_ori, image_ori_rows, image_ori_cols, nrows, ncols);
} = read_graphics(image);
let mut image_h = HerculesMutBox::from(image.clone());
let image = resize(&image_ori, image_ori_rows, image_ori_cols, nrows, ncols);
group.bench_function(name, |b| {
let mut image_h = HerculesMutBox::from(image.clone());
b.iter(|| {
group.bench_function("srad bench large", |b| {
async_std::task::block_on(async {
b.iter(|| {
r.run(
async_std::task::block_on(async {
nrows as u64,
r.run(
ncols as u64,
nrows as u64,
niter as u64,
ncols as u64,
image_h.to(),
niter as u64,
max,
image_h.to(),
lambda,
max,
)
lambda,
.await
)
});
.await
})
});
});
})
};
});
 
bench("srad bench small", 100, 512, 512);
 
bench("srad bench large", 30, 2048, 2048);
}
}
criterion_group!(benches, srad_bench);
criterion_group!(benches, srad_bench);
Loading