pub struct BenchArgs {
pub iterations: usize,
pub warmup: usize,
pub json: bool,
pub baseline: Option<String>,
pub regression_threshold: f64,
pub history: Option<PathBuf>,
pub scale: Option<usize>,
}Fields§
§iterations: usizeMeasured iterations per operation. Clamped to [1, 100_000].
warmup: usizeWarmup iterations discarded from the percentile sample.
Clamped to [0, 10_000].
json: boolEmit results as JSON instead of the human-readable table.
baseline: Option<String>Path to a previous bench --json payload. When supplied, the
fresh run is compared per-operation against this baseline and
the process exits non-zero if any measured p95 exceeds the
baseline by more than --regression-threshold percent.
Independent of the absolute-budget guard.
regression_threshold: f64Allowed p95 growth (percent) over the --baseline reading
before a row is flagged as a regression. Clamped to
[0.0, 1000.0]. Has no effect without --baseline.
history: Option<PathBuf>Append this run to a JSONL history file (one self-describing
JSON object per line). Creates the file and any missing parent
directories on first call. Each entry carries captured_at
(RFC3339), iterations, warmup, and the same results array
--json emits — long-running campaigns can build a regression
dataset to feed downstream tooling. The CLI table / JSON output
still prints; this flag only adds the append side effect.
scale: Option<usize>#1579 B8 — seed a scratch corpus of N rows before running the
workload and gate the verdict against the per-scale budget
table in PERFORMANCE.md §“Corpus-scale budgets”. Omitting the
flag keeps the legacy ~500-row workload and legacy budgets.
Clamped to [1, 1_000_000].
Trait Implementations§
Source§impl Args for BenchArgs
impl Args for BenchArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl FromArgMatches for BenchArgs
impl FromArgMatches for BenchArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for BenchArgs
impl RefUnwindSafe for BenchArgs
impl Send for BenchArgs
impl Sync for BenchArgs
impl Unpin for BenchArgs
impl UnsafeUnpin for BenchArgs
impl UnwindSafe for BenchArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more