benwtrent commented on code in PR #11860: URL: https://github.com/apache/lucene/pull/11860#discussion_r1038420089
########## lucene/core/src/java/org/apache/lucene/util/hnsw/HnswGraph.java: ########## @@ -144,6 +145,10 @@ public NodesIterator(int size) { this.size = size; } + public int[] copy() { + return ArrayUtil.copyOfSubArray(nodes, 0, size); + } Review Comment: @jpountz we could, but then we lose the intrinsics. I did some performance testing and found that using intrinsics here with ArrayUtil is way better and without it flush time is increased significantly. Maybe it would be better for the caller to provide an array and have the iterator populate it in a function? Would you prefer: ```java public void consume(int[] dest) { System.arraycopy(nodes, 0, dest, 0, dest.length); } ``` Or something? Or would you rather have the runtime cost on flush? (which seems unjustified to me) -- 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