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

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

Here is a patch. The grid here also accelerates relational operations 
(somewhat: very coarse). I switched GeoPoint over to use BKD relation methods, 
to only compute them once, and to support working in integer space. I tried to 
also optimize some of its other logic like distance and bounding box (e.g. 
two-phase) too, in case we hit unbalanced subtrees and have to do lots of 
two-phase checks.

I think we should go with grid size=32x32 just like LatLonPoint, even though 
larger sizes see large speedups. maybe we can see those same speedups by using 
a proper 2D tree instead of suffering a high fixed cost? it all has to do with 
avoiding expensive relation computations...

{noformat}
Distance bench
14.3 QPS -> 14.6 QPS

Grid efficiency: (% of cells with definitive answer)
  32x32: 88.08594%
  64x64: 93.87207%
128x128: 96.90552%

Polygons
vertices=5
  32x32: 19.0 QPS -> 19.3 QPS (fixed cost: < 1ms)
  64x64: 19.0 QPS -> 19.5 QPS (fixed cost: < 1ms)
128x128: 19.0 QPS -> 19.5 QPS (fixed cost: < 1ms)

vertices=50
  32x32: 12.4 QPS -> 13.2 QPS (fixed cost: < 1ms)
  64x64: 12.4 QPS -> 13.9 QPS (fixed cost: 1ms)
128x128: 12.4 QPS -> 15.0 QPS (fixed cost: 2ms)

vertices=500
  32x32:  4.2 QPS ->  5.9 QPS (fixed cost: 5ms)
  64x64:  4.2 QPS ->  7.4 QPS (fixed cost: 11ms)
128x128:  4.2 QPS ->  8.5 QPS (fixed cost: 25ms)

vertices=1000
  32x32:  2.5 QPS ->  3.6 QPS (fixed cost: 9ms)
  64x64:  2.5 QPS ->  4.2 QPS (fixed cost: 23ms)
128x128:  2.5 QPS ->  5.3 QPS (fixed cost: 50ms)
{noformat}

> adapt LUCENE-7159 to geopointfield too
> --------------------------------------
>
>                 Key: LUCENE-7177
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7177
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Robert Muir
>         Attachments: LUCENE-7177.patch
>
>
> LUCENE-7159 adds a precomputation to speed up complex polygon queries. We 
> should adapt this to GeoPoint too.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to