iverase opened a new pull request #7:
URL: https://github.com/apache/lucene/pull/7


   See https://issues.apache.org/jira/browse/LUCENE-9820
          https://issues.apache.org/jira/browse/LUCENE-9619. 
   
   This PR introduces a BKDIndexInput abstraction that encapsulates all the 
methods that we need to read the KD index. It introduces a LeafIterator as 
well, which is something we were using already when merging 1 dimensional 
points, but it is formalise now.
   
   The new interface is heavily based on the cursor-style API defined in 
LUCENE-9619. Performance test show the same speed with this approach:
   
   ```
   ||Approach||Shape||M hits/sec      ||QPS            ||Hit count      ||
                    ||Dev||Base ||Diff||Dev||Base||Diff||Dev||Base||Diff||
   |points|polyRussia|16.26|16.34|-0%|4.63|4.66|-0%|3508846|3508846| 0%|
   |points|polyMedium|9.20|9.05| 2%|112.71|110.84| 2%|2693559|2693559| 0%|
   |points|poly 10|87.81|87.83|-0%|55.53|55.54|-0%|355809475|355809475| 0%|
   |points|box|83.04|83.08|-0%|84.50|84.54|-0%|221118844|221118844| 0%|
   |points|distance|85.57|85.56| 0%|50.31|50.31| 0%|382688713|382688713| 0%|
   |points|nearest 10|0.03|0.03|-1%|2690.61|2727.41|-1%|60844404|60844404| 0%|
   |geo3d|polyRussia|0.66|0.66| 1%|0.19|0.19| 1%|3508671|3508671| 0%|
   |geo3d|polyMedium|0.70|0.71|-0%|8.62|8.66|-0%|2693541|2693541| 0%|
   |geo3d|poly 10|54.23|54.26|-0%|34.29|34.31|-0%|355855227|355855227| 0%|
   |geo3d|box|58.52|59.75|-2%|59.55|60.80|-2%|221118844|221118844| 0%|
   |geo3d|distance|74.51|75.06|-1%|43.73|44.05|-1%|383371904|383371904| 0%|
   |shapes|polyRussia|10.20|10.16| 0%|2.91|2.90| 0%|3508846|3508846| 0%|
   |shapes|polyMedium|3.53|3.65|-3%|43.20|44.74|-3%|2693559|2693559| 0%|
   |shapes|poly 10|42.03|43.66|-4%|26.58|27.61|-4%|355809475|355809475| 0%|
   |shapes|box|43.86|43.88|-0%|44.63|44.65|-0%|221118844|221118844| 0%|
   |shapes|distance|44.58|44.55| 0%|26.19|26.18| 0%|382961957|382961957| 0%|
   ```
   
   This separation is important in order of versioning the codec. 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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

Reply via email to