Skip to main content

EvalConfig

Struct EvalConfig 

Source
pub struct EvalConfig {
Show 46 fields pub enable_parallel: bool, pub max_threads: Option<usize>, pub max_vertices: Option<usize>, pub max_eval_time: Option<Duration>, pub max_memory_mb: Option<usize>, pub evaluation_budgets: EvaluationBudgets, pub default_sheet_name: String, pub case_sensitive_names: bool, pub case_sensitive_tables: bool, pub workbook_seed: u64, pub volatile_level: VolatileLevel, pub deterministic_mode: DeterministicMode, pub range_expansion_limit: usize, pub max_open_ended_rows: u32, pub max_open_ended_cols: u32, pub stripe_height: u32, pub stripe_width: u32, pub enable_block_stripes: bool, pub spill: SpillConfig, pub cycle: CycleConfig, pub use_dynamic_topo: bool, pub pk_visit_budget: usize, pub pk_compaction_interval_ops: u64, pub max_layer_width: Option<usize>, pub pk_reject_cycle_edges: bool, pub sheet_index_mode: SheetIndexMode, pub warmup: WarmupConfig, pub arrow_storage_enabled: bool, pub delta_overlay_enabled: bool, pub write_formula_overlay_enabled: bool, pub max_overlay_memory_bytes: Option<usize>, pub date_system: DateSystem, pub temporal_egress: TemporalEgress, pub formula_parse_policy: FormulaParsePolicy, pub defer_graph_building: bool, pub preparation_policy: PreparationPolicy, pub enable_virtual_dep_telemetry: bool, pub formula_plane_mode: FormulaPlaneMode, pub max_formula_plane_cache_candidates: usize, pub max_formula_plane_cache_edges: usize, pub max_formula_plane_cache_bytes: usize, pub lookup_index_cache_max_bytes: usize, pub family_execution: bool, pub family_kernels: bool, pub family_lift: bool, pub formula_compression: bool,
}
Expand description

Configuration for the evaluation engine

Fields§

§enable_parallel: bool§max_threads: Option<usize>§max_vertices: Option<usize>

Deprecated. Maps to evaluation_budgets.admission.graph_vertex_hard_limit only when that explicit field is unset.

§max_eval_time: Option<Duration>

Deprecated. Maps to evaluation_budgets.deadline.max_elapsed only when that explicit field is unset.

§max_memory_mb: Option<usize>

Deprecated. Converts MiB to bytes and splits the result 50/50 between otherwise-unset retained and scratch totals; an odd byte goes to retained. Each explicit total wins its own conflict independently.

§evaluation_budgets: EvaluationBudgets

Explicit evaluation budgets. All fields are unset by default, preserving current behavior. Deprecated resource fields fill only otherwise-unset destination fields and produce one field-level diagnostic describing every mapping or conflict.

§default_sheet_name: String

Default sheet name used when no sheet is provided.

§case_sensitive_names: bool

When false, resolve defined names case-insensitively (ASCII only).

This matches Excel behavior for defined names.

§case_sensitive_tables: bool

When false, resolve table names case-insensitively (ASCII only).

This matches Excel behavior for native table (ListObject) names.

§workbook_seed: u64

Stable workbook seed used for deterministic RNG composition

§volatile_level: VolatileLevel

Volatile granularity for RNG seeding and re-evaluation policy

§deterministic_mode: DeterministicMode

Deterministic evaluation configuration (clock/timezone injection).

§range_expansion_limit: usize

Ranges with size <= this limit are expanded into individual Cell dependencies

§max_open_ended_rows: u32

Fallback maximum row bound for open-ended references (e.g. A:A, A1:A).

This is only used when used-bounds cannot be determined.

§max_open_ended_cols: u32

Fallback maximum column bound for open-ended references (e.g. 1:1, A1:1).

This is only used when used-bounds cannot be determined.

§stripe_height: u32

Height of stripe blocks for dense range indexing

§stripe_width: u32

Width of stripe blocks for dense range indexing

§enable_block_stripes: bool

Enable block stripes for dense ranges (vs row/column stripes only). Deprecated, ignored at runtime: range stripes exist only in legacy_oracle builds (Program 1 M5).

§spill: SpillConfig

Spill behavior configuration (conflicts, bounds, buffering)

§cycle: CycleConfig

Cycle handling configuration (detection mode + policy). Defaults to CycleDetection::Static (today’s stamp-every-static-SCC behavior); CycleDetection::Runtime is opt-in (RFC #112).

§use_dynamic_topo: bool

Use dynamic topological ordering (Pearce-Kelly algorithm). Deprecated, ignored at runtime: the dependency authority’s planner orders evaluation; this and the pk_* / max_layer_width knobs below affect only legacy_oracle builds (Program 1 M5).

§pk_visit_budget: usize

Maximum nodes to visit before falling back to full rebuild

§pk_compaction_interval_ops: u64

Operations between periodic rank compaction

§max_layer_width: Option<usize>

Maximum width for parallel evaluation layers

§pk_reject_cycle_edges: bool

If true, reject edge insertions that would create a cycle (skip adding that dependency). If false, allow insertion and let scheduler handle cycles at evaluation time.

§sheet_index_mode: SheetIndexMode

Sheet index build strategy for bulk loads

§warmup: WarmupConfig

Warmup configuration for global pass planning (Phase 1)

§arrow_storage_enabled: bool

Enable Arrow-backed storage reads (Phase A)

§delta_overlay_enabled: bool

Enable delta overlay for Arrow sheets (Phase C)

§write_formula_overlay_enabled: bool

Mirror formula scalar results into Arrow overlay for Arrow-backed reads This enables Arrow-only RangeView correctness without Hybrid fallback.

§max_overlay_memory_bytes: Option<usize>

Optional memory budget (in bytes) for formula/spill computed Arrow overlays.

When set, the engine will compact computed overlays into base lanes when the estimated usage exceeds this cap.

§date_system: DateSystem

Workbook date system: Excel 1900 (default) or 1904.

§temporal_egress: TemporalEgress

Public temporal materialisation policy.

§formula_parse_policy: FormulaParsePolicy

Policy for malformed formulas encountered during ingest/graph-build.

§defer_graph_building: bool

Defer dependency graph building: ingest values immediately but stage formulas for on-demand graph construction during evaluation.

§preparation_policy: PreparationPolicy

Missing sheets and tables at preparation: bind later (default) or fail. See PreparationPolicy.

§enable_virtual_dep_telemetry: bool

Enable virtual dependency convergence telemetry collection.

When disabled, the engine avoids per-pass timing/edge-count bookkeeping.

§formula_plane_mode: FormulaPlaneMode

FormulaPlane mode. Accepted and ignored: the dependency authority is the only runtime path, so every formula is evaluated per cell whatever the mode. Engine::new normalizes the stored value to Off.

§max_formula_plane_cache_candidates: usize

Accepted and ignored (FormulaPlane mixed topology was removed).

§max_formula_plane_cache_edges: usize

Accepted and ignored (FormulaPlane mixed topology was removed).

§max_formula_plane_cache_bytes: usize

Accepted and ignored (FormulaPlane mixed topology was removed).

§lookup_index_cache_max_bytes: usize

Maximum bytes for the engine-side lookup-index cache.

§family_execution: bool

Program 2 region-native execution: a family node’s cells at one schedule layer evaluate as one unit through the node’s template. false evaluates every formula cell on its own (the per-cell oracle). Values are identical either way.

§family_kernels: bool

Program 2 range kernels (tier 3) inside family execution: windowed aggregates reduce each member’s slice without per-call range resolution. false keeps tier 1 for every run. Values are identical.

§family_lift: bool

Program 2 elementwise lift (P2-M3) inside family execution: a run whose template is operators over cell references and literals evaluates column-wise instead of walking the template per member. false keeps the per-member walk. Values are identical.

§formula_compression: bool

Program 2 compression: after the dependency authority is built, family members whose formula is their node’s template relocated store a reference to the template instead of their own AST, and the formula arena drops the unreachable trees. Formulas read back identically either way.

Implementations§

Source§

impl EvalConfig

Source

pub fn with_preparation_policy(self, policy: PreparationPolicy) -> Self

Source

pub fn with_range_expansion_limit(self, limit: usize) -> Self

Source

pub fn with_parallel(self, enable: bool) -> Self

Source

pub fn with_block_stripes(self, enable: bool) -> Self

Source

pub fn with_case_sensitive_names(self, enable: bool) -> Self

Source

pub fn with_case_sensitive_tables(self, enable: bool) -> Self

Source

pub fn with_arrow_storage(self, enable: bool) -> Self

Source

pub fn with_delta_overlay(self, enable: bool) -> Self

Source

pub fn with_formula_overlay(self, enable: bool) -> Self

Source

pub fn with_date_system(self, system: DateSystem) -> Self

Source

pub fn with_formula_parse_policy(self, policy: FormulaParsePolicy) -> Self

Source

pub fn with_virtual_dep_telemetry(self, enable: bool) -> Self

Source

pub fn with_formula_plane_mode(self, mode: FormulaPlaneMode) -> Self

Source

pub fn with_evaluation_budgets(self, budgets: EvaluationBudgets) -> Self

Source

pub fn resolved_evaluation_budgets(&self) -> EvaluationBudgets

Resolve explicit and deprecated resource settings without consulting ambient host state.

Source

pub fn with_cycle(self, cycle: CycleConfig) -> Self

Set the cycle configuration.

§Panics

Panics when cycle is invalid (see CycleConfig::validate): Iterate with detection: Static, max_iterations == 0, or a negative/non-finite max_change are config errors rejected at build (spec §2). Engine::new re-validates for configs assembled via struct literals.

Trait Implementations§

Source§

impl Clone for EvalConfig

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EvalConfig

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for EvalConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.