RamakrishnaChilaka opened a new pull request, #15163: URL: https://github.com/apache/lucene/pull/15163
Follow-up to https://github.com/apache/lucene/pull/15140. For vector search, TopKNNCollector uses NeighborQueue. This PR replaces its underlying heap implementation from the binary LongHeap to the TernaryLongHeap. ### Performance Results On c8g.8xlarge (Graviton) with topN = 1000: ``` TaskQPS baseline StdDevQPS candidate StdDev Pct diff p-value PKLookup 456.85 (1.4%) 459.33 (0.9%) 0.5% ( -1% - 2%) 0.139 AndHighHighVector 114.90 (0.9%) 116.25 (0.6%) 1.2% ( 0% - 2%) 0.000 AndHighLowVector 119.86 (0.8%) 121.37 (0.7%) 1.3% ( 0% - 2%) 0.000 AndHighMedVector 112.55 (0.8%) 114.00 (0.7%) 1.3% ( 0% - 2%) 0.000 MedTermVector 130.14 (0.8%) 131.91 (0.7%) 1.4% ( 0% - 2%) 0.000 HighTermVector 138.60 (0.8%) 140.81 (0.6%) 1.6% ( 0% - 3%) 0.000 LowTermVector 138.34 (0.7%) 140.74 (0.5%) 1.7% ( 0% - 2%) 0.000 ``` On i3.8xlarge with topN = 1000: ``` TaskQPS baseline StdDevQPS candidate StdDev Pct diff p-value PKLookup 218.10 (2.3%) 217.52 (2.3%) -0.3% ( -4% - 4%) 0.712 AndHighLowVector 75.39 (0.4%) 76.12 (0.4%) 1.0% ( 0% - 1%) 0.000 AndHighHighVector 74.40 (0.5%) 75.20 (0.4%) 1.1% ( 0% - 1%) 0.000 AndHighMedVector 79.06 (0.3%) 79.92 (0.5%) 1.1% ( 0% - 1%) 0.000 MedTermVector 82.18 (0.4%) 83.17 (0.4%) 1.2% ( 0% - 1%) 0.000 HighTermVector 87.32 (0.4%) 88.37 (0.4%) 1.2% ( 0% - 2%) 0.000 LowTermVector 93.71 (0.4%) 95.05 (0.5%) 1.4% ( 0% - 2%) 0.000 ``` TLDR; The ternary heap implementation shows consistent performance improvements of 1.0-1.7% across vector search operations on both ARM (Graviton) and x86 architectures. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
