Skip to content

Changes

Summary

  1. Performance improvement: synchronize to java.util.concurrent.locks switch to improve performance with VirtualThreads (#2116) (commit: 1f0cf75) (details)
Commit 1f0cf759092beb031ccc2e5a6950f239f15b5b55 by GitHub
Performance improvement: synchronize to java.util.concurrent.locks switch to improve performance with VirtualThreads (#2116)

This change improves EclipseLink performance with higher versions of the JDK (21 and above).
It's about replacement of synchronized keyword and wait(), notify() methods by objects from java.util.concurrent.locks.* package.
Additionally there are some new performance tests to verify it.

Signed-off-by: Radek Felcman <radek.felcman@oracle.com>
(commit: 1f0cf75)
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadSmallAmmountNoCacheTests.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ConcurrencyManager.java (diff)
The file was removedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/Benchmarks.java
The file was modified performance/eclipselink.perf.test/src/test/resources/META-INF/persistence.xml (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ReadLockManager.java (diff)
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadLargeAmmountAbstract.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/JPAMetadataBenchmarks.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/model/basic/MasterEntity.java
The file was modified performance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/JPABenchmarks.java (diff)
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/core/ConcurrencyManagerBenchmark.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadSmallAmmountAbstract.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/CoreBenchmarks.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadAbstract.java
The file was modified performance/eclipselink.perf.test/pom.xml (diff)
The file was modified performance/eclipselink.perf.test/el-test.performance.properties (diff)
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/MOXyBenchmarks.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadSmallAmmountCacheTests.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/CacheKey.java (diff)
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/WriteLockManager.java (diff)
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadLargeAmmountCacheTests.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadLargeAmmountNoCacheTests.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/model/basic/DetailEntity.java

Summary

  1. Performance improvement: synchronize to java.util.concurrent.locks switch to improve performance with VirtualThreads (#2116) (commit: 1f0cf75) (details)
Commit 1f0cf759092beb031ccc2e5a6950f239f15b5b55 by GitHub
Performance improvement: synchronize to java.util.concurrent.locks switch to improve performance with VirtualThreads (#2116)

This change improves EclipseLink performance with higher versions of the JDK (21 and above).
It's about replacement of synchronized keyword and wait(), notify() methods by objects from java.util.concurrent.locks.* package.
Additionally there are some new performance tests to verify it.

Signed-off-by: Radek Felcman <radek.felcman@oracle.com>
(commit: 1f0cf75)
The file was modified performance/eclipselink.perf.test/pom.xml
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadLargeAmmountCacheTests.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ConcurrencyManager.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/model/basic/DetailEntity.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadLargeAmmountAbstract.java
The file was modified performance/eclipselink.perf.test/el-test.performance.properties
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadAbstract.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/MOXyBenchmarks.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/CacheKey.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadSmallAmmountAbstract.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/core/ConcurrencyManagerBenchmark.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadSmallAmmountNoCacheTests.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/WriteLockManager.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadLargeAmmountNoCacheTests.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/model/basic/MasterEntity.java
The file was modified foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ReadLockManager.java
The file was removedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/Benchmarks.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/JPAMetadataBenchmarks.java
The file was modified performance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/JPABenchmarks.java
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/jpa/tests/basic/JPAReadSmallAmmountCacheTests.java
The file was modified performance/eclipselink.perf.test/src/test/resources/META-INF/persistence.xml
The file was addedperformance/eclipselink.perf.test/src/test/java/org/eclipse/persistence/testing/perf/CoreBenchmarks.java