You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2026/05/13 07:50:38 UTC
(jena) 02/02: GH-3900: misc mem improvements
This is an automated email from the ASF dual-hosted git repository.
afs pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
commit 25d036a644b673bfd19bbdb554ba52957e1f0531
Author: bern-SOPTIM <ar...@soptim.de>
AuthorDate: Wed May 6 15:09:42 2026 +0200
GH-3900: misc mem improvements
Fixing jena-benckmarks:
- updated pom.xml files to version "6.2.0-SNAPSHOT"
- fixed spliterator benchmarks to support new Sized parameter
---
jena-benchmarks/jena-benchmarks-jmh/pom.xml | 2 +-
.../spliterator/TestSparseArraySpliteratorsForeachRemaining.java | 9 ++++++++-
.../spliterator/TestSparseArraySpliteratorsStreamParallel.java | 9 ++++++++-
.../mem/spliterator/TestSparseArraySpliteratorsTryAdvance.java | 9 ++++++++-
jena-benchmarks/jena-benchmarks-shadedJena560/pom.xml | 2 +-
jena-benchmarks/pom.xml | 2 +-
6 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/jena-benchmarks/jena-benchmarks-jmh/pom.xml b/jena-benchmarks/jena-benchmarks-jmh/pom.xml
index 8c612c8f74..d3dcb89012 100644
--- a/jena-benchmarks/jena-benchmarks-jmh/pom.xml
+++ b/jena-benchmarks/jena-benchmarks-jmh/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.jena</groupId>
<artifactId>jena-benchmarks</artifactId>
- <version>6.1.0</version>
+ <version>6.2.0-SNAPSHOT</version>
</parent>
<name>Apache Jena - Benchmarks JMH</name>
diff --git a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsForeachRemaining.java b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsForeachRemaining.java
index 54e19b413e..01d765a749 100644
--- a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsForeachRemaining.java
+++ b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsForeachRemaining.java
@@ -28,6 +28,7 @@ import java.util.Spliterator;
import org.apache.jena.atlas.iterator.ActionCount;
import org.apache.jena.jmh.JmhDefaultOptions;
+import org.apache.jena.mem.collection.Sized;
import org.junit.Assert;
import org.junit.Test;
@@ -75,12 +76,18 @@ public class TestSparseArraySpliteratorsForeachRemaining {
if (count != elementsCount) {
throw new RuntimeException("Concurrent modification detected");
}
+ } ;
+ final var sized = new Sized() {
+ @Override
+ public int size() {
+ return elementsCount;
+ }
};
return switch (param1_iteratorImplementation) {
case "memvalue.SparseArraySpliterator" ->
new org.apache.jena.memvalue.SparseArraySpliterator<>(arrayWithNulls, count, checkForConcurrentModification);
case "mem2.SparseArraySpliterator" ->
- new SparseArraySpliterator<>(arrayWithNulls, checkForConcurrentModification);
+ new SparseArraySpliterator<>(arrayWithNulls, sized);
default ->
throw new IllegalArgumentException("Unknown spliterator implementation: " + param1_iteratorImplementation);
};
diff --git a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsStreamParallel.java b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsStreamParallel.java
index c28435e8f2..62020e2468 100644
--- a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsStreamParallel.java
+++ b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsStreamParallel.java
@@ -29,6 +29,7 @@ import java.util.stream.StreamSupport;
import org.apache.jena.atlas.iterator.ActionCount;
import org.apache.jena.jmh.JmhDefaultOptions;
+import org.apache.jena.mem.collection.Sized;
import org.junit.Assert;
import org.junit.Test;
@@ -77,11 +78,17 @@ public class TestSparseArraySpliteratorsStreamParallel {
throw new RuntimeException("Concurrent modification detected");
}
};
+ final var sized = new Sized() {
+ @Override
+ public int size() {
+ return elementsCount;
+ }
+ };
return switch (param1_iteratorImplementation) {
case "memvalue.SparseArraySpliterator" ->
new org.apache.jena.memvalue.SparseArraySpliterator<>(arrayWithNulls, count, checkForConcurrentModification);
case "mem2.SparseArraySpliterator" ->
- new SparseArraySpliterator<>(arrayWithNulls, checkForConcurrentModification);
+ new SparseArraySpliterator<>(arrayWithNulls, sized);
default ->
throw new IllegalArgumentException("Unknown spliterator implementation: " + param1_iteratorImplementation);
};
diff --git a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsTryAdvance.java b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsTryAdvance.java
index d558282458..cca4a1601f 100644
--- a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsTryAdvance.java
+++ b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/mem/spliterator/TestSparseArraySpliteratorsTryAdvance.java
@@ -28,6 +28,7 @@ import java.util.Spliterator;
import org.apache.jena.atlas.iterator.ActionCount;
import org.apache.jena.jmh.JmhDefaultOptions;
+import org.apache.jena.mem.collection.Sized;
import org.junit.Assert;
import org.junit.Test;
@@ -78,11 +79,17 @@ public class TestSparseArraySpliteratorsTryAdvance {
throw new RuntimeException("Concurrent modification detected");
}
};
+ final var sized = new Sized() {
+ @Override
+ public int size() {
+ return elementsCount;
+ }
+ };
return switch (param1_iteratorImplementation) {
case "memvalue.SparseArraySpliterator" ->
new org.apache.jena.memvalue.SparseArraySpliterator<>(arrayWithNulls, count, checkForConcurrentModification);
case "mem2.SparseArraySpliterator" ->
- new SparseArraySpliterator<>(arrayWithNulls, checkForConcurrentModification);
+ new SparseArraySpliterator<>(arrayWithNulls, sized);
default ->
throw new IllegalArgumentException("Unknown spliterator implementation: " + param1_iteratorImplementation);
};
diff --git a/jena-benchmarks/jena-benchmarks-shadedJena560/pom.xml b/jena-benchmarks/jena-benchmarks-shadedJena560/pom.xml
index 37918ddd1e..1319d82d4a 100644
--- a/jena-benchmarks/jena-benchmarks-shadedJena560/pom.xml
+++ b/jena-benchmarks/jena-benchmarks-shadedJena560/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.jena</groupId>
<artifactId>jena-benchmarks</artifactId>
- <version>6.1.0</version>
+ <version>6.2.0-SNAPSHOT</version>
</parent>
<name>Apache Jena - Benchmarks Shaded Jena 5.6.0</name>
diff --git a/jena-benchmarks/pom.xml b/jena-benchmarks/pom.xml
index 917b36ebbb..6f9afb658d 100644
--- a/jena-benchmarks/pom.xml
+++ b/jena-benchmarks/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.jena</groupId>
<artifactId>jena</artifactId>
- <version>6.1.0</version>
+ <version>6.2.0-SNAPSHOT</version>
</parent>
<name>Apache Jena - Benchmark Suite</name>