Class StableMSBRadixSorter.MergeSorter

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.
  • Constructor Details

    • MergeSorter

      protected MergeSorter()
  • Method Details

    • sort

      public void sort(int from, int to)
      Description copied from class: Sorter
      Sort the slice which starts at from (inclusive) and ends at to (exclusive).
      Specified by:
      sort in class Sorter
    • 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 as len is usually small.
    • merge

      private void merge(int from, int to, int mid)