You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2016/05/01 21:02:12 UTC

[jira] [Updated] (LUCENE-7268) Remove ArrayUtil.timSort?

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

Robert Muir updated LUCENE-7268:
--------------------------------
    Attachment: LUCENE-7268_mods.patch

here are the local mods i have. 

With the luceneutil geo benchmark, you can test this polygon with `-points -polyFile /data/cleveland.poly.txt.gz`. It will also print the tree construction time since its basically what makes this polygon slow.

I see this with Arrays.sort (construction time ~240ms):
BEST M hits/sec: 0.04010849804890369
BEST QPS: 3.429835646391628

On the other hand with ArrayUtil.timSort (construction time ~ 400ms):
BEST M hits/sec: 0.02554894823234268
BEST QPS: 2.1847911948300567

Its just one data point really, but I am curious what advantages ArrayUtil.timSort is supposed to have over Arrays.sort?

> Remove ArrayUtil.timSort?
> -------------------------
>
>                 Key: LUCENE-7268
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7268
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Robert Muir
>         Attachments: LUCENE-7268_mods.patch
>
>
> Is there some workload where our timSort is better than the JDK one? Should we just remove ours if its slower?
> Not that its a great test, but i switched Polygon2D edge sorting (just the one where it says "sort the edges then build a balanced tree from them") from Arrays.sort to ArrayUtil.timSort and was surprised when performance was much slower for an enormous polygon (http://people.apache.org/~mikemccand/geobench/cleveland.poly.txt.gz)



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

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