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: [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]