- All Known Implementing Classes:
ByteLongMegaMergeDescendingKernel.ByteLongMegaMergeDescendingKernelContext
,ByteLongMegaMergeKernel.ByteLongMegaMergeKernelContext
,CharLongMegaMergeDescendingKernel.CharLongMegaMergeDescendingKernelContext
,CharLongMegaMergeKernel.CharLongMegaMergeKernelContext
,DoubleLongMegaMergeDescendingKernel.DoubleLongMegaMergeDescendingKernelContext
,DoubleLongMegaMergeKernel.DoubleLongMegaMergeKernelContext
,FloatLongMegaMergeDescendingKernel.FloatLongMegaMergeDescendingKernelContext
,FloatLongMegaMergeKernel.FloatLongMegaMergeKernelContext
,IntLongMegaMergeDescendingKernel.IntLongMegaMergeDescendingKernelContext
,IntLongMegaMergeKernel.IntLongMegaMergeKernelContext
,LongLongMegaMergeDescendingKernel.LongLongMegaMergeDescendingKernelContext
,LongLongMegaMergeKernel.LongLongMegaMergeKernelContext
,ObjectLongMegaMergeDescendingKernel.ObjectLongMegaMergeDescendingKernelContext
,ObjectLongMegaMergeKernel.ObjectLongMegaMergeKernelContext
,ShortLongMegaMergeDescendingKernel.ShortLongMegaMergeDescendingKernelContext
,ShortLongMegaMergeKernel.ShortLongMegaMergeKernelContext
The LongMegaMergeKernel merges sorted chunks into a column source, with a parallel long array of row keys.
The intention is that you will use a Timsort kernel to sort maximally sized chunks, then merge the result into a
ColumnSource using the MegaMergeKernel only if necessary.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <ATTR extends Any,
KEY_INDICES extends Indices>
LongMegaMergeKernel<ATTR,KEY_INDICES> makeContext
(ChunkType chunkType, SortingOrder order) Creates a SortKernel for the given chunkType.void
merge
(LongArraySource indexDestinationSource, WritableColumnSource<?> valuesDestinationSource, long destinationOffset, long destinationSize, LongChunk<KEY_INDICES> indexKeys, Chunk<ATTR> valuesToMerge)
-
Method Details
-
makeContext
static <ATTR extends Any,KEY_INDICES extends Indices> LongMegaMergeKernel<ATTR,KEY_INDICES> makeContext(ChunkType chunkType, SortingOrder order) Creates a SortKernel for the given chunkType.- Parameters:
chunkType
- the type of chunk we are sortingorder
- whether we should sort in an ascending or descending direction- Returns:
- a SortKernel suitable for the given type, order, and size
-
merge
void merge(LongArraySource indexDestinationSource, WritableColumnSource<?> valuesDestinationSource, long destinationOffset, long destinationSize, LongChunk<KEY_INDICES> indexKeys, Chunk<ATTR> valuesToMerge)
-