Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Performance"

(Features)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
EclipseLink is dedicated to being the best performance, and most scalable JPA implementation.
+
EclipseLink is dedicated to being the best performing, and most scalable JPA implementation.
  
 
==Features==
 
==Features==
 
EclipseLink's performance features include:
 
EclipseLink's performance features include:
* Object cache
+
* [[Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Entity_Caching|Object cache]]
 
** Cache invalidation (time to live, and time of day)
 
** Cache invalidation (time to live, and time of day)
 
** Configurable cache types per Entity, (Weak, Soft, SoftCache, HardCache, Full)
 
** Configurable cache types per Entity, (Weak, Soft, SoftCache, HardCache, Full)
 
** Configurable cache size per Entity
 
** Configurable cache size per Entity
 
** Clustered cache coordination
 
** Clustered cache coordination
 +
** Database change event invalidation (Oracle DCN)
 +
** Cache indexes
 
* Querying
 
* Querying
** Read-only queries
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Read_Only|Read-only queries]]
** Join fetching (query, nested, mapping)
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Use_the_.40JoinFetch_Annotation|Join fetching]] ([[Using_EclipseLink_JPA_Extensions_(ELUG)#Join_Fetch|query]], nested, mapping)
** Batch reading (query, nested, mapping)
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Batch|Batch fetching]] (IN, JOIN, EXISTS)
 
** Fetch groups (query, default, dynamic)
 
** Fetch groups (query, default, dynamic)
** Fetch size
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Fetch_Size|Fetch size]]
** Pagination (firstResult, maxResult, ROWNUM filtering)
+
** [[EclipseLink/Examples/JPA/Pagination|Pagination]] (firstResult, maxResult, ROWNUM filtering)
 
** Cursors (stream and scrollable)
 
** Cursors (stream and scrollable)
** Cache usage (in-memory, primary key)
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Cache_Usage|Cache usage]] (in-memory, primary key)
 
** Query cache (invalidation, size configuration)
 
** Query cache (invalidation, size configuration)
 
* Mapping
 
* Mapping
 
** Lazy loading
 
** Lazy loading
** Read-only objects
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Declaration_of_Read-Only_Classes|Read-only objects]]
 
** Weaving enhancements
 
** Weaving enhancements
 
* Transactions
 
* Transactions
** Attribute level change tracking
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_Tracking_Changes|Attribute level change tracking]]
 
** Field level updates
 
** Field level updates
 
* Database
 
* Database
** Connection pooling
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Use_EclipseLink_JPA_Extensions_for_JDBC_Connection_Pooling|Connection pooling]]
** Parametrized SQL
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_JDBC|Parametrized SQL]]
** Statement caching
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_JDBC|Statement caching]]
** Batch writing (JDBC, parametrized, native)
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_JDBC|Batch writing]] (JDBC, parametrized, native)
 +
** Indexes
 
* Tools
 
* Tools
** Performance Profiler
+
** [[Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Use_the_Persistence_Unit_Properties_for_Optimization|Performance Profiler]]
 +
** Performance Monitor
 +
 
 +
==Benchmarks==
 +
* [http://www.spec.org/benchmarks.html#java SPECjAppServer®]
  
 
==Links==
 
==Links==
* [[Optimizing_the_EclipseLink_Application_(ELUG)| EclipseLink User Guide - Optimization]]
+
* "Enhancing Performance" chapter in the ''[http://www.eclipse.org/eclipselink/documentation/ EclipseLink Solutions Guide]''
 
* [[EclipseLink/Development/Performance | Performance Development]]
 
* [[EclipseLink/Development/Performance | Performance Development]]
 
+
* [http://java-persistence-performance.blogspot.com/ Java Persistence Performance (Blog)]
[[Category:EclipseLink]]
+
* [http://java-persistence-performance.blogspot.com/2010/08/batch-fetching-optimizing-object-graph.html Batch fetching - optimizing object graph loading]
 +
* [http://java-persistence-performance.blogspot.com/2011/06/how-to-improve-jpa-performance-by-1825.html How to improve JPA performance by 1,825% ]
 +
* [http://java-persistence-performance.blogspot.com/2011/05/data-partitioning-scaling-database.html Data Partitioning - Scaling the Database ]
 +
* [http://java-persistence-performance.blogspot.com/2012/11/eclipselink-15x-faster-than-other-jpa.html EclipseLink 15x faster than other JPA providers]
 +
* [http://java-persistence-performance.blogspot.com/2013/01/got-cache.html Got Cache?]
 +
* [http://wiki.eclipse.org/EclipseLink/Examples/Distributed#Multicore_Analysis Performance characteristics for 1-512 parallel threads on a single 8-core i7-920 node as part of a distributed JPA application]
 +
[[Category:EclipseLink|Performance]]

Latest revision as of 14:28, 6 March 2013

EclipseLink is dedicated to being the best performing, and most scalable JPA implementation.

Features

EclipseLink's performance features include:

Benchmarks

Links

Back to the top