[ 
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

Reply via email to