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/03/14 20:21:33 UTC

[jira] [Updated] (LUCENE-7103) further optimize LatLonPoint.newDistanceSort

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

Robert Muir updated LUCENE-7103:
--------------------------------
    Attachment: LUCENE-7103.patch

simple patch. We "do the rest" of the haversin calculation only when we need the final value: value() and compareTop().

> further optimize LatLonPoint.newDistanceSort
> --------------------------------------------
>
>                 Key: LUCENE-7103
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7103
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Robert Muir
>         Attachments: LUCENE-7103.patch
>
>
> This comparator creates bounding boxes to avoid calling haversin(), so its no longer a hotspot for most use cases.
> But in the worst case, it could still get called many times. This could be because the user had a massive top N value, or because the incoming data is sorted or mostly sorted by decreasing distance, etc.
> We can optimize the worst case by not invoking a full haversin, just using something that is rank-equivalent.



--
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