[ 
https://issues.apache.org/jira/browse/LUCENE-4839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adrien Grand updated LUCENE-4839:
---------------------------------

    Attachment: LUCENE-4839.patch

bq. Nice! Why do we need the private inner class TimSort?

It's no needed but my first patch (not uploaded) did not use a helper class and 
was hard to read, so I think this is better this way?

bq. I would be happy to also add the timSort algorithm to ArrayUtils and 
CollectionUtils.

Done in the patch.

bq. The bonus would be: The extensive random tests in TestArrayUtils and 
TestCollectionUtils could be used for timSort, too (their existence is the 
reason why there is no TestSorterTemplate class in current code).

Done.
                
> Sorter API: Use TimSort to sort doc IDs and postings lists
> ----------------------------------------------------------
>
>                 Key: LUCENE-4839
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4839
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-4839.patch, LUCENE-4839.patch
>
>
> TimSort (http://svn.python.org/projects/python/trunk/Objects/listsort.txt, 
> used by python and Java's Arrays.sort(Object[]) in particular) is a sorting 
> algorithm that performs very well on partially-sorted data. Indeed, with 
> TimSort, sorting an array which is in reverse order or a finite concatenation 
> of sorted arrays is a linear operation (instead of O(n ln(n))).
> The sorter API could benefit from this algorithm when using 
> Sorter.REVERSE_DOCS or merging several sorted readers for example.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to