benchkmarks for execute server rack heavy (#3421)
* benchkmarks for execute server rack heavy 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> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * cluppy Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
@ -116,3 +116,11 @@ required-features = ["lsp-test-util"]
|
||||
name = "lsp_semantic_tokens_benchmark_iai"
|
||||
harness = false
|
||||
required-features = ["lsp-test-util"]
|
||||
|
||||
[[bench]]
|
||||
name = "executor_benchmark_criterion"
|
||||
harness = false
|
||||
|
||||
[[bench]]
|
||||
name = "executor_benchmark_iai"
|
||||
harness = false
|
||||
|
||||
36
src/wasm-lib/kcl/benches/executor_benchmark_criterion.rs
Normal file
36
src/wasm-lib/kcl/benches/executor_benchmark_criterion.rs
Normal file
@ -0,0 +1,36 @@
|
||||
use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
|
||||
use kcl_lib::test_server;
|
||||
use tokio::runtime::Runtime;
|
||||
|
||||
pub fn bench_execute(c: &mut Criterion) {
|
||||
for (name, code) in [
|
||||
("big_kitt", KITT_PROGRAM),
|
||||
("cube", CUBE_PROGRAM),
|
||||
("server_rack_heavy", SERVER_RACK_HEAVY_PROGRAM),
|
||||
] {
|
||||
let mut group = c.benchmark_group("executor");
|
||||
// Configure Criterion.rs to detect smaller differences and increase sample size to improve
|
||||
// precision and counteract the resulting noise.
|
||||
group.sample_size(10);
|
||||
group.bench_with_input(BenchmarkId::new("execute_", name), &code, |b, &s| {
|
||||
let rt = Runtime::new().unwrap();
|
||||
|
||||
// Spawn a future onto the runtime
|
||||
b.iter(|| {
|
||||
rt.block_on(test_server::execute_and_snapshot(
|
||||
s,
|
||||
kcl_lib::settings::types::UnitLength::Mm,
|
||||
))
|
||||
.unwrap();
|
||||
});
|
||||
});
|
||||
group.finish();
|
||||
}
|
||||
}
|
||||
|
||||
criterion_group!(benches, bench_execute);
|
||||
criterion_main!(benches);
|
||||
|
||||
const KITT_PROGRAM: &str = include_str!("../../tests/executor/inputs/kittycad_svg.kcl");
|
||||
const CUBE_PROGRAM: &str = include_str!("../../tests/executor/inputs/cube.kcl");
|
||||
const SERVER_RACK_HEAVY_PROGRAM: &str = include_str!("../../tests/executor/inputs/server-rack-heavy.kcl");
|
||||
16
src/wasm-lib/kcl/benches/executor_benchmark_iai.rs
Normal file
16
src/wasm-lib/kcl/benches/executor_benchmark_iai.rs
Normal file
@ -0,0 +1,16 @@
|
||||
use iai::black_box;
|
||||
|
||||
async fn execute_server_rack_heavy() {
|
||||
let code = SERVER_RACK_HEAVY_PROGRAM;
|
||||
black_box(
|
||||
kcl_lib::test_server::execute_and_snapshot(code, kcl_lib::settings::types::UnitLength::Mm)
|
||||
.await
|
||||
.unwrap(),
|
||||
);
|
||||
}
|
||||
|
||||
iai::main! {
|
||||
execute_server_rack_heavy,
|
||||
}
|
||||
|
||||
const SERVER_RACK_HEAVY_PROGRAM: &str = include_str!("../../tests/executor/inputs/server-rack-heavy.kcl");
|
||||
@ -18,6 +18,8 @@ use crate::{
|
||||
pub async fn extrude(args: Args) -> Result<KclValue, KclError> {
|
||||
let (length, sketch_group_set) = args.get_number_sketch_group_set()?;
|
||||
|
||||
println!("extrude");
|
||||
|
||||
let result = inner_extrude(length, sketch_group_set, args).await?;
|
||||
|
||||
Ok(result.into())
|
||||
|
||||
142
src/wasm-lib/output.txt
Normal file
142
src/wasm-lib/output.txt
Normal file
@ -0,0 +1,142 @@
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 16 filtered out; finished in 0.00s
|
||||
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 824 filtered out; finished in 0.00s
|
||||
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
|
||||
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
|
||||
running 0 tests
|
||||
|
||||
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
||||
|
||||
|
||||
running 1 test
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
test visuals::server_rack_heavy has been running for over 60 seconds
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
extrude
|
||||
test visuals::server_rack_heavy ... FAILED
|
||||
|
||||
failures:
|
||||
|
||||
failures:
|
||||
visuals::server_rack_heavy
|
||||
|
||||
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 142 filtered out; finished in 279.58s
|
||||
|
||||
1869
src/wasm-lib/tests/executor/inputs/server-rack-heavy.kcl
Normal file
1869
src/wasm-lib/tests/executor/inputs/server-rack-heavy.kcl
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user