iprithv opened a new pull request, #16153: URL: https://github.com/apache/lucene/pull/16153
UpdateGraphsUtils.computeJoinSet() was still using the binary LongHeap while NeighborQueue and TopScoreDocCollector had already moved to TernaryLongHeap. Since this method is on the hot path during HNSW graph merging, I figured it was worth switching too. The heap size here is the graph size of the segment being merged. Even the smallest floor segments are ~1,800 docs, and typical merges are 10K-100K+. I ran a quick JMH microbenchmark on computeJoinSet itself and saw ~9% improvement at 5,000 nodes, with the gap widening at larger sizes. I also ran wikimediumall through luceneutil to make sure nothing regressed on the search side -- 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]
