Some checks failed
CI / check (push) Has been cancelled
Capture uncommitted solver robustness work (regularization, domain errors, linear solver lifecycle, tube DP/MSH), web workbench updates, and synced BMAD skills across IDE agent folders before starting BPHX pressure-drop. Co-authored-by: Cursor <cursoragent@cursor.com>
46 lines
1.3 KiB
Rust
46 lines
1.3 KiB
Rust
//! Phase-0 benchmark: end-to-end solve on three reference cycles.
|
|
//!
|
|
//! Each benchmark builds a real CoolProp-backed emergent-pressure R134a cycle
|
|
//! and solves it with the fallback Newton solver.
|
|
|
|
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
|
|
|
mod common;
|
|
|
|
fn bench_reference_cycle_a(c: &mut Criterion) {
|
|
c.bench_function("full_solve_reference_cycle_a", |b| {
|
|
b.iter(|| {
|
|
let mut system = common::build_reference_cycle_a();
|
|
common::solve_reference_system(&mut system);
|
|
black_box(());
|
|
});
|
|
});
|
|
}
|
|
|
|
fn bench_reference_cycle_b(c: &mut Criterion) {
|
|
c.bench_function("full_solve_reference_cycle_b", |b| {
|
|
b.iter(|| {
|
|
let mut system = common::build_reference_cycle_b();
|
|
common::solve_reference_system(&mut system);
|
|
black_box(());
|
|
});
|
|
});
|
|
}
|
|
|
|
fn bench_reference_cycle_c(c: &mut Criterion) {
|
|
c.bench_function("full_solve_reference_cycle_c", |b| {
|
|
b.iter(|| {
|
|
let mut system = common::build_reference_cycle_c();
|
|
common::solve_reference_system(&mut system);
|
|
black_box(());
|
|
});
|
|
});
|
|
}
|
|
|
|
criterion_group! {
|
|
name = benches;
|
|
config = common::end_to_end_criterion();
|
|
targets = bench_reference_cycle_a, bench_reference_cycle_b, bench_reference_cycle_c
|
|
}
|
|
criterion_main!(benches);
|