Skip to content

Commit 003b87e

Browse files
committed
Fix Int7uScorerBenchmarkTests for running on Java 21
1 parent e2bc52e commit 003b87e

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

benchmarks/src/main/java/org/elasticsearch/benchmark/vector/Int7uScorerBenchmark.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,13 @@ public void setup() throws IOException {
134134
for (int i = 0; i < dims; i++) {
135135
queryVec[i] = ThreadLocalRandom.current().nextFloat();
136136
}
137-
luceneDotScorerQuery = luceneScorer(values, VectorSimilarityFunction.DOT_PRODUCT, queryVec);
138-
nativeDotScorerQuery = factory.getInt7SQVectorScorer(VectorSimilarityFunction.DOT_PRODUCT, values, queryVec).get();
139-
luceneSqrScorerQuery = luceneScorer(values, VectorSimilarityFunction.EUCLIDEAN, queryVec);
140-
nativeSqrScorerQuery = factory.getInt7SQVectorScorer(VectorSimilarityFunction.EUCLIDEAN, values, queryVec).get();
137+
138+
if (Runtime.version().feature() >= 22) {
139+
luceneDotScorerQuery = luceneScorer(values, VectorSimilarityFunction.DOT_PRODUCT, queryVec);
140+
nativeDotScorerQuery = factory.getInt7SQVectorScorer(VectorSimilarityFunction.DOT_PRODUCT, values, queryVec).get();
141+
luceneSqrScorerQuery = luceneScorer(values, VectorSimilarityFunction.EUCLIDEAN, queryVec);
142+
nativeSqrScorerQuery = factory.getInt7SQVectorScorer(VectorSimilarityFunction.EUCLIDEAN, values, queryVec).get();
143+
}
141144
}
142145

143146
@TearDown

benchmarks/src/test/java/org/elasticsearch/benchmark/vector/Int7uScorerBenchmarkTests.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ public static void skipWindows() {
3232
assumeFalse("doesn't work on windows yet", Constants.WINDOWS);
3333
}
3434

35+
static boolean supportsHeapSegments() {
36+
return Runtime.version().feature() >= 22;
37+
}
38+
3539
public void testDotProduct() throws Exception {
3640
for (int i = 0; i < 100; i++) {
3741
var bench = new Int7uScorerBenchmark();
@@ -42,8 +46,10 @@ public void testDotProduct() throws Exception {
4246
assertEquals(expected, bench.dotProductLucene(), delta);
4347
assertEquals(expected, bench.dotProductNative(), delta);
4448

45-
expected = bench.dotProductLuceneQuery();
46-
assertEquals(expected, bench.dotProductNativeQuery(), delta);
49+
if (supportsHeapSegments()) {
50+
expected = bench.dotProductLuceneQuery();
51+
assertEquals(expected, bench.dotProductNativeQuery(), delta);
52+
}
4753
} finally {
4854
bench.teardown();
4955
}
@@ -60,8 +66,10 @@ public void testSquareDistance() throws Exception {
6066
assertEquals(expected, bench.squareDistanceLucene(), delta);
6167
assertEquals(expected, bench.squareDistanceNative(), delta);
6268

63-
expected = bench.squareDistanceLuceneQuery();
64-
assertEquals(expected, bench.squareDistanceNativeQuery(), delta);
69+
if (supportsHeapSegments()) {
70+
expected = bench.squareDistanceLuceneQuery();
71+
assertEquals(expected, bench.squareDistanceNativeQuery(), delta);
72+
}
6573
} finally {
6674
bench.teardown();
6775
}

0 commit comments

Comments
 (0)