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 <[email protected]> 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>
