Skip to content

Commit fa95bb3

Browse files
Speedup ByteArray.indexOf (#83454)
We can do a faster indexOf on a bytes array by implementing a tight array loop. Noticed while looking at bulk indexing profiling.
1 parent 4b45625 commit fa95bb3

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

server/src/main/java/org/elasticsearch/common/bytes/BytesArray.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@ public byte get(int index) {
5555
return bytes[offset + index];
5656
}
5757

58+
@Override
59+
public int indexOf(byte marker, int from) {
60+
for (int i = offset + from; i < offset + length; i++) {
61+
if (bytes[i] == marker) {
62+
return i - offset;
63+
}
64+
}
65+
return -1;
66+
}
67+
5868
@Override
5969
public int length() {
6070
return length;

0 commit comments

Comments
 (0)