pub struct EvalConfig {Show 33 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 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 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 formula_parse_policy: FormulaParsePolicy,
pub defer_graph_building: bool,
pub enable_virtual_dep_telemetry: bool,
}Expand description
Configuration for the evaluation engine
Fields§
§enable_parallel: bool§max_threads: Option<usize>§max_vertices: Option<usize>§max_eval_time: Option<Duration>§max_memory_mb: Option<usize>§default_sheet_name: StringDefault sheet name used when no sheet is provided.
case_sensitive_names: boolWhen false, resolve defined names case-insensitively (ASCII only).
This matches Excel behavior for defined names.
case_sensitive_tables: boolWhen false, resolve table names case-insensitively (ASCII only).
This matches Excel behavior for native table (ListObject) names.
workbook_seed: u64Stable workbook seed used for deterministic RNG composition
volatile_level: VolatileLevelVolatile granularity for RNG seeding and re-evaluation policy
deterministic_mode: DeterministicModeDeterministic evaluation configuration (clock/timezone injection).
range_expansion_limit: usizeRanges with size <= this limit are expanded into individual Cell dependencies
max_open_ended_rows: u32Fallback 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: u32Fallback 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: u32Height of stripe blocks for dense range indexing
stripe_width: u32Width of stripe blocks for dense range indexing
enable_block_stripes: boolEnable block stripes for dense ranges (vs row/column stripes only)
spill: SpillConfigSpill behavior configuration (conflicts, bounds, buffering)
use_dynamic_topo: boolUse dynamic topological ordering (Pearce-Kelly algorithm)
pk_visit_budget: usizeMaximum nodes to visit before falling back to full rebuild
pk_compaction_interval_ops: u64Operations between periodic rank compaction
max_layer_width: Option<usize>Maximum width for parallel evaluation layers
pk_reject_cycle_edges: boolIf 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: SheetIndexModeSheet index build strategy for bulk loads
warmup: WarmupConfigWarmup configuration for global pass planning (Phase 1)
arrow_storage_enabled: boolEnable Arrow-backed storage reads (Phase A)
delta_overlay_enabled: boolEnable delta overlay for Arrow sheets (Phase C)
write_formula_overlay_enabled: boolMirror 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: DateSystemWorkbook date system: Excel 1900 (default) or 1904.
formula_parse_policy: FormulaParsePolicyPolicy for malformed formulas encountered during ingest/graph-build.
defer_graph_building: boolDefer dependency graph building: ingest values immediately but stage formulas for on-demand graph construction during evaluation.
enable_virtual_dep_telemetry: boolEnable virtual dependency convergence telemetry collection.
When disabled, the engine avoids per-pass timing/edge-count bookkeeping.
Implementations§
Source§impl EvalConfig
impl EvalConfig
pub fn with_range_expansion_limit(self, limit: usize) -> Self
pub fn with_parallel(self, enable: bool) -> Self
pub fn with_block_stripes(self, enable: bool) -> Self
pub fn with_case_sensitive_names(self, enable: bool) -> Self
pub fn with_case_sensitive_tables(self, enable: bool) -> Self
pub fn with_arrow_storage(self, enable: bool) -> Self
pub fn with_delta_overlay(self, enable: bool) -> Self
pub fn with_formula_overlay(self, enable: bool) -> Self
pub fn with_date_system(self, system: DateSystem) -> Self
pub fn with_formula_parse_policy(self, policy: FormulaParsePolicy) -> Self
pub fn with_virtual_dep_telemetry(self, enable: bool) -> Self
Trait Implementations§
Source§impl Clone for EvalConfig
impl Clone for EvalConfig
Source§fn clone(&self) -> EvalConfig
fn clone(&self) -> EvalConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EvalConfig
impl Debug for EvalConfig
Auto Trait Implementations§
impl Freeze for EvalConfig
impl RefUnwindSafe for EvalConfig
impl Send for EvalConfig
impl Sync for EvalConfig
impl Unpin for EvalConfig
impl UnsafeUnpin for EvalConfig
impl UnwindSafe for EvalConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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