Skip to main content

ExecutionHistoryBaseline

Struct ExecutionHistoryBaseline 

Source
pub struct ExecutionHistoryBaseline {
    pub entry_count: usize,
    pub heap_size_bytes: usize,
    pub serialized_size_bytes: usize,
    pub tolerance: f64,
}
Expand description

Performance baseline for execution history growth.

Fields§

§entry_count: usize

Number of entries in benchmark

§heap_size_bytes: usize

Expected heap size in bytes

§serialized_size_bytes: usize

Expected serialized size in bytes

§tolerance: f64

Tolerance factor (1.2 = allow 20% deviation)

Implementations§

Source§

impl ExecutionHistoryBaseline

Source

pub const ENTRIES_1000: Self

Baseline for 1000 entries (default limit).

§Measurement Methodology

These values are derived from benchmark tests that:

  1. Create 1000 execution history entries with realistic content
  2. Measure heap size using std::mem::size_of_val and content sizes
  3. Serialize to JSON and measure compressed size
  4. Run multiple iterations to verify consistency
§Updating Baselines

If legitimate performance improvements reduce memory usage, update these values based on new benchmark measurements. Always maintain 20% tolerance to account for platform variance.

DO NOT increase these values to accommodate regressions. Investigate and fix the root cause instead.

Source

pub fn check_heap_size(&self, measured: usize) -> Result<(), String>

Check if measured value exceeds baseline.

§Errors

Returns error if the operation fails.

Source

pub fn check_serialized_size(&self, measured: usize) -> Result<(), String>

Check if serialized size exceeds baseline.

§Errors

Returns error if the operation fails.

Trait Implementations§

Source§

impl Clone for ExecutionHistoryBaseline

Source§

fn clone(&self) -> ExecutionHistoryBaseline

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExecutionHistoryBaseline

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.