- java.lang.Object
-
- org.apache.lucene.util.Sorter
-
- org.apache.lucene.util.StableMSBRadixSorter.MergeSorter
-
- Enclosing class:
- StableMSBRadixSorter
protected abstract static class StableMSBRadixSorter.MergeSorter extends Sorter
A MergeSorter taking advantage of temporary storage.
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.util.Sorter
BINARY_SORT_THRESHOLD, INSERTION_SORT_THRESHOLD
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
MergeSorter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private void
bulkSave(int from, int tmpFrom, int len)
We tried to expose this to implementations to get a bulk copy optimization.private void
merge(int from, int to, int mid)
private void
mergeSort(int from, int to)
protected abstract void
restore(int i, int j)
Restore values between i-th and j-th(excluding) in temporary storage into original storage.protected abstract void
save(int i, int j)
Save the i-th value into the j-th position in temporary storage.void
sort(int from, int to)
Sort the slice which starts atfrom
(inclusive) and ends atto
(exclusive).-
Methods inherited from class org.apache.lucene.util.Sorter
binarySort, binarySort, checkRange, compare, comparePivot, doRotate, heapChild, heapify, heapParent, heapSort, insertionSort, lower, lower2, mergeInPlace, reverse, rotate, setPivot, siftDown, swap, upper, upper2
-
-
-
-
Method Detail
-
sort
public void sort(int from, int to)
Description copied from class:Sorter
Sort the slice which starts atfrom
(inclusive) and ends atto
(exclusive).
-
mergeSort
private void mergeSort(int from, int to)
-
save
protected abstract void save(int i, int j)
Save the i-th value into the j-th position in temporary storage.
-
restore
protected abstract void restore(int i, int j)
Restore values between i-th and j-th(excluding) in temporary storage into original storage.
-
bulkSave
private void bulkSave(int from, int tmpFrom, int len)
We tried to expose this to implementations to get a bulk copy optimization. But it did not bring a noticeable improvement in benchmark aslen
is usually small.
-
merge
private void merge(int from, int to, int mid)
-
-