64 lines
2.1 KiB
Rust
64 lines
2.1 KiB
Rust
//! Criterion pressure benches for shared-runtime RPC and transfer paths.
|
|
//!
|
|
//! The benchmark suite keeps intentionally explicit arithmetic and indexing so the
|
|
//! expected request/throughput math remains easy to audit when performance
|
|
//! regressions are investigated.
|
|
|
|
#![forbid(unsafe_code)]
|
|
#![doc(hidden)]
|
|
#![expect(
|
|
clippy::arithmetic_side_effects,
|
|
clippy::as_conversions,
|
|
clippy::cast_possible_truncation,
|
|
clippy::default_trait_access,
|
|
clippy::indexing_slicing,
|
|
clippy::integer_division,
|
|
clippy::too_many_lines,
|
|
reason = "pressure benches keep explicit scenario math and fixture setup for auditability"
|
|
)]
|
|
|
|
use aria2_rust_pro_compat as _;
|
|
use aria2_rust_pro_storage as _;
|
|
use aria2_rust_pro_tests as _;
|
|
use criterion::{criterion_group, criterion_main};
|
|
|
|
#[path = "rpc_pressure/bt_visibility.rs"]
|
|
mod bt_visibility;
|
|
#[path = "rpc_pressure/live_http_transfer.rs"]
|
|
mod live_http_transfer;
|
|
#[path = "rpc_pressure/rpc_runtime_pressure.rs"]
|
|
mod rpc_runtime_pressure;
|
|
#[path = "rpc_pressure/runtime_engine_pressure.rs"]
|
|
mod runtime_engine_pressure;
|
|
#[path = "rpc_pressure/support.rs"]
|
|
mod support;
|
|
|
|
use bt_visibility::bench_bt_visibility_pressure;
|
|
use live_http_transfer::{
|
|
bench_live_http_multi_download_contention_pressure,
|
|
bench_live_http_shared_runtime_multi_download_pressure,
|
|
bench_live_http_transfer_contention_pressure,
|
|
};
|
|
use rpc_runtime_pressure::{
|
|
bench_mixed_rpc_pressure, bench_resource_limit_pressure,
|
|
bench_shared_runtime_fairness_pressure, bench_tell_status_pressure,
|
|
};
|
|
use runtime_engine_pressure::{
|
|
bench_runtime_snapshot_pressure, bench_scheduler_backpressure_pressure,
|
|
};
|
|
|
|
criterion_group!(
|
|
pressure_benches,
|
|
bench_tell_status_pressure,
|
|
bench_mixed_rpc_pressure,
|
|
bench_runtime_snapshot_pressure,
|
|
bench_resource_limit_pressure,
|
|
bench_shared_runtime_fairness_pressure,
|
|
bench_bt_visibility_pressure,
|
|
bench_scheduler_backpressure_pressure,
|
|
bench_live_http_transfer_contention_pressure,
|
|
bench_live_http_multi_download_contention_pressure,
|
|
bench_live_http_shared_runtime_multi_download_pressure
|
|
);
|
|
criterion_main!(pressure_benches);
|