pub struct PassConfig {Show 14 fields
pub root_chain: bool,
pub field_chain: bool,
pub filter_count: bool,
pub filter_fusion: bool,
pub find_quantifier: bool,
pub strength_reduce: bool,
pub redundant_ops: bool,
pub kind_check_fold: bool,
pub method_const: bool,
pub const_fold: bool,
pub nullness: bool,
pub equi_join: bool,
pub reorder_and: bool,
pub dedup_subprogs: bool,
}Expand description
High-performance v2 virtual machine.
Maintains:
- Compile cache — expression string →
Program(parse + compile once). - Path cache —
(doc_hash, json_pointer)→Val; doc-scoped so any program navigating the same path on the same document shares cached nodes. Intermediate nodes are populated as a side-effect of every traversal, enabling prefix reuse without re-traversal.
One VM per thread; wrap in Mutex for shared use.
Toggle each optimiser pass independently. Default enables every
pass. Disabling a pass invalidates the compile cache for the next
compilation by changing hash().
Fields§
§root_chain: bool§field_chain: bool§filter_count: bool§filter_fusion: bool§find_quantifier: bool§strength_reduce: bool§redundant_ops: bool§kind_check_fold: bool§method_const: bool§const_fold: bool§nullness: bool§equi_join: bool§reorder_and: bool§dedup_subprogs: boolImplementations§
Trait Implementations§
Source§impl Clone for PassConfig
impl Clone for PassConfig
Source§fn clone(&self) -> PassConfig
fn clone(&self) -> PassConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PassConfig
impl Debug for PassConfig
Source§impl Default for PassConfig
impl Default for PassConfig
Source§impl PartialEq for PassConfig
impl PartialEq for PassConfig
impl Copy for PassConfig
impl Eq for PassConfig
impl StructuralPartialEq for PassConfig
Auto Trait Implementations§
impl Freeze for PassConfig
impl RefUnwindSafe for PassConfig
impl Send for PassConfig
impl Sync for PassConfig
impl Unpin for PassConfig
impl UnsafeUnpin for PassConfig
impl UnwindSafe for PassConfig
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.