Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Performance
EclipseLink is dedicated to being the best performing, and most scalable JPA implementation.
Contents
Features
EclipseLink's performance features include:
- Object cache
- Cache invalidation (time to live, and time of day)
- Configurable cache types per Entity, (Weak, Soft, SoftCache, HardCache, Full)
- Configurable cache size per Entity
- Clustered cache coordination
- Querying
- Read-only queries
- Join fetching (query, nested, mapping)
- Batch reading (query, nested, mapping)
- Fetch groups (query, default, dynamic)
- Fetch size
- Pagination (firstResult, maxResult, ROWNUM filtering)
- Cursors (stream and scrollable)
- Cache usage (in-memory, primary key)
- Query cache (invalidation, size configuration)
- Mapping
- Lazy loading
- Read-only objects
- Weaving enhancements
- Transactions
- Attribute level change tracking
- Field level updates
- Database
- Connection pooling
- Parametrized SQL
- Statement caching
- Batch writing (JDBC, parametrized, native)
- Tools
Benchmarks
Forum Posts
Links
- "Enhancing Performance" chapter in the EclipseLink Solutions Guide
- Performance Development
- Java Persistence Performance (Blog)
- Batch fetching - optimizing object graph loading
- Performance characteristics for 1-512 parallel threads on a single 8-core i7-920 node as part of a distributed JPA application