[ https://issues.apache.org/jira/browse/LUCENE-10391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499984#comment-17499984 ]
Adrien Grand commented on LUCENE-10391: --------------------------------------- +1 to stop here for now, it looks like reusing the results queue would also be harder because it gets returned by searchLevel, so it's not an implementation details like the candidates queue and callers would have to make sure that they do not keep the results queue around after performing another call to searchLevel? > Reuse data structures across HnswGraph invocations > -------------------------------------------------- > > Key: LUCENE-10391 > URL: https://issues.apache.org/jira/browse/LUCENE-10391 > Project: Lucene - Core > Issue Type: Task > Reporter: Adrien Grand > Assignee: Julie Tibshirani > Priority: Minor > Fix For: 9.1 > > Attachments: Screen Shot 2022-02-24 at 10.18.42 AM.png > > Time Spent: 2h 20m > Remaining Estimate: 0h > > Creating HNSW graphs involves doing many repeated calls to HnswGraph#search. > Profiles from nightly benchmarks suggest that allocating data-structures > incurs both lots of heap allocations > ([http://people.apache.org/~mikemccand/lucenebench/2022.01.23.18.03.17.html#profiler_1kb_indexing_vectors_4_heap)] > and CPU usage > ([http://people.apache.org/~mikemccand/lucenebench/2022.01.23.18.03.17.html#profiler_1kb_indexing_vectors_4_cpu).] > It looks like reusing data structures across invocations would be a > low-hanging fruit that could help save significant CPU? -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org