[ https://issues.apache.org/jira/browse/LUCENE-2719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925350#action_12925350 ]
Uwe Schindler commented on LUCENE-2719: --------------------------------------- After Robert mentioned the strange comparator in the above patch: It is just a leftover from the original testSort() test which needed that special order, because it compared the sorted BytesRefHash using a TreeSet of UTF16 strings. For the benchamrk the comparator has no real effect. > Re-add SorterTemplate and use it to provide fast ArraySorting and replace > BytesRefHash sorting > ---------------------------------------------------------------------------------------------- > > Key: LUCENE-2719 > URL: https://issues.apache.org/jira/browse/LUCENE-2719 > Project: Lucene - Java > Issue Type: Improvement > Affects Versions: 3.1 > Reporter: Uwe Schindler > Assignee: Uwe Schindler > Fix For: 3.1, 4.0 > > Attachments: LUCENE-2719-CollSupport.patch, > LUCENE-2719-CollSupport.patch, LUCENE-2719-CollSupport.patch, > LUCENE-2719.patch, LUCENE-2719.patch, LUCENE-2719.patch, LUCENE-2719.patch, > LUCENE-2719.patch > > > This patch adds back an optimized and rewritten SorterTemplate back to Lucene > (removed after release of 3.0). It is of use for several components: > - Automaton: Automaton needs to sort States and other things. Using > Arrays.sort() is slow, because it clones internally to ensure stable search. > This component is much faster. This patch adds Arrays.sort() replacements in > ArrayUtil that work with natural order or using a Comparator<?>. You can > choose between quickSort and mergeSort. > - BytesRefHash uses another QuickSort algorithm without insertionSort for > very short ord arrays. This class uses SorterTemplate to provide the same > with insertionSort fallback in a very elegant way. Ideally this class can be > used everywhere, where the sort algorithm needs to be separated from the > underlying data and you can implement a swap() and compare() function (that > get slot numbers instead of real values). This also applies to Solr (Yonik?). > SorterTemplate provides quickSort and mergeSort algorithms. Internally for > short arrays, it automatically chooses insertionSort (like JDK's Arrays). The > quickSort algorith was copied modified from old BytesRefHash. This new class > only shares MergeSort with the original CGLIB SorterTemplate, which is no > longer maintained. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org