Skip to main content

Module kernel

Module kernel 

Source
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§

ParentKernelAdapter
Bridges a concrete ExecuteParentKernel<V, K> to the type-erased DynParentKernel<V> trait. Created by ParentKernelSet::lift.
ParentKernelSet
A collection of ExecuteParentKernels registered for a specific child encoding.

Traits§

DynParentKernel
Type-erased version of ExecuteParentKernel used for dynamic dispatch within ParentKernelSet.
ExecuteParentKernel
A kernel that allows a child encoding V to execute its parent array in a fused manner.