pub struct EvalConfig {Show 25 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 workbook_seed: u64,
pub volatile_level: VolatileLevel,
pub range_expansion_limit: usize,
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 arrow_fastpath_enabled: bool,
pub delta_overlay_enabled: bool,
pub write_formula_overlay_enabled: bool,
pub date_system: DateSystem,
pub defer_graph_building: 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>§workbook_seed: u64Stable workbook seed used for deterministic RNG composition
volatile_level: VolatileLevelVolatile granularity for RNG seeding and re-evaluation policy
range_expansion_limit: usizeRanges with size <= this limit are expanded into individual Cell dependencies
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)
arrow_fastpath_enabled: boolEnable Arrow fast paths in builtins (Phase B)
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.
date_system: DateSystemWorkbook date system: Excel 1900 (default) or 1904.
defer_graph_building: boolDefer dependency graph building: ingest values immediately but stage formulas for on-demand graph construction during evaluation.
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 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