Expand description
Parent kernels: child-driven fused execution of parent arrays.
A parent kernel allows a child encoding to provide a specialized execution path for its parent array. This is Layer 3 of the execution model.
For example, a RunEndArray child of a SliceArray can perform a binary search on its
run ends rather than decoding the entire array and slicing the result.
Encodings declare their parent kernels by implementing ExecuteParentKernel and
registering them in a ParentKernelSet. Each kernel specifies which parent types it
handles via a Matcher.
Structs§
- Parent
Kernel Adapter - Bridges a concrete
ExecuteParentKernel<V, K>to the type-erasedDynParentKernel<V>trait. Created byParentKernelSet::lift. - Parent
Kernel Set - A collection of
ExecuteParentKernels registered for a specific child encoding.
Traits§
- DynParent
Kernel - Type-erased version of
ExecuteParentKernelused for dynamic dispatch withinParentKernelSet. - Execute
Parent Kernel - A kernel that allows a child encoding
Vto execute its parent array in a fused manner.