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