jbellis opened a new pull request, #12372: URL: https://github.com/apache/lucene/pull/12372
This changes HnswGraphBuilder to re-use the same candidates queues for adding nodes by allocating them in the Builder instance. This saves about 2.5% of build time and takes memory allocations of NQ long[] from 25% of total to 0%. JFR runs are attached. The difference from the first attempt (which actually made things slower) is that it preserves the original code's behavior of using a 1-sized queue for the search in the levels above where the node actually gets added. [main.jfr.gz](https://github.com/apache/lucene/files/11749837/main.jfr.gz) [nq2.jfr.gz](https://github.com/apache/lucene/files/11749838/nq2.jfr.gz) -- 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: issues-unsubscr...@lucene.apache.org 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