benchmark retry (#5760)

* benchmark retry

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix times

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix times

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* dont use a custom iter

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* just parse

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* use runs on

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Jess Frazelle
2025-03-11 15:21:28 -07:00
committed by GitHub
parent b8a0ad7144
commit 6d0da100e5
92 changed files with 7924 additions and 204404 deletions

View File

@ -4,7 +4,6 @@ use std::{
};
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use tokio::runtime::Runtime;
const IGNORE_DIRS: [&str; 2] = ["step", "screenshots"];
@ -46,7 +45,7 @@ fn run_benchmarks(c: &mut Criterion) {
let benchmark_dirs = discover_benchmark_dirs(&base_dir);
let rt = Runtime::new().unwrap();
//let rt = tokio::runtime::Runtime::new().unwrap();
for dir in benchmark_dirs {
let dir_name = dir.file_name().unwrap().to_string_lossy().to_string();
@ -68,24 +67,35 @@ fn run_benchmarks(c: &mut Criterion) {
.sample_size(10)
.measurement_time(std::time::Duration::from_secs(1)); // Short measurement time to keep it from running in parallel
let program = kcl_lib::Program::parse_no_errs(&input_content).unwrap();
//let program = kcl_lib::Program::parse_no_errs(&input_content).unwrap();
group.bench_function("parse", |b| {
b.iter(|| kcl_lib::Program::parse_no_errs(black_box(&input_content)).unwrap())
});
group.bench_function("execute", |b| {
/*group.bench_function("execute", |b| {
b.iter(|| {
rt.block_on(async {
let ctx = kcl_lib::ExecutorContext::new_with_default_client(Default::default())
.await
.unwrap();
let mut exec_state = kcl_lib::ExecState::new(&ctx.settings);
ctx.run(black_box(&program), &mut exec_state).await.unwrap();
ctx.close().await;
})
let mut result = Err(());
for _ in 0..5 {
// Try up to 3 times
match rt.block_on(async {
let ctx = kcl_lib::ExecutorContext::new_with_default_client(Default::default()).await?;
let mut exec_state = kcl_lib::ExecState::new(&ctx.settings);
ctx.run(black_box(&program), &mut exec_state).await?;
ctx.close().await;
Ok::<(), anyhow::Error>(())
}) {
Ok(value) => {
result = Ok(value);
break;
}
Err(_) => continue,
}
}
result.unwrap()
})
});
});*/
group.finish();
}