[ 
https://issues.apache.org/jira/browse/LUCENE-7309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15310202#comment-15310202
 ] 

Adrien Grand commented on LUCENE-7309:
--------------------------------------

I am getting the following numbers:

|| || QPS || Construction time ||
| Arrays.sort (master) | 2.63 | 272 |
| ArrayUtil.timSort | 2.54 | 287 |
| ArrayUtil.introSort | 3.01 | 225 |
| ArrayUtil.select (patch) | 3.75 | 160 |

For the record, ArrayUtil.select is similar to ArrayUtil.introSort except that 
it only recurses on one of the two partitions (the one that contains the 
median).

> Speed up Polygon2D construction
> -------------------------------
>
>                 Key: LUCENE-7309
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7309
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-7309.patch
>
>
> Polygon2D.create recursively sorts on each dimension to build a tree. 
> However, it does not really need to sort the data, it just needs to compute 
> the median and partition other values around it, which can be performed in 
> O(n). If I am not mistaken, this would make Polygon2D.create run in O(n 
> log(n)) rather than O(n log^2(n)) today.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to