When one or more of the All filters is selected - only average normalized results are displayed. Please read Running and Results for more details.
Speed comparison of JPA database query operations (normalized score, higher is better)
  | Derby embedded | H2 embedded | HSQLDB embedded | SQLite embedded | DB4O embedded | ObjectDB embedded | Derby server | H2 server | MySQL server | PostgreSQL server | ObjectDB server |
---|---|---|---|---|---|---|---|---|---|---|---|
DataNucleus | 14.8 | 2.3 | 0.80 | failed | 10.2 | 1.9 | 2.8 | 20.3 | |||
EclipseLink | 26.6 | 5.5 | 6.9 | 0.55 | 17.3 | 2.8 | 0.88 | 22.3 | |||
Hibernate | 19.4 | 3.5 | 4.7 | 0.42 | 15.1 | 2.3 | 2.9 | 20.7 | |||
OpenJPA | 15.2 | 5.1 | 6.1 | 9.9 | 2.5 | 2.5 | failed | ||||
ObjectDB | 100 | 37.7 |
Performance comparison chart - The Y-Axis represents normalized score in logarithmic scale - higher is better:
Performance comparison chart - The Y-Axis represents normalized score in linear scale - higher is better:
Best and Worst JPA/Database Performer in this comparison
The Most Efficient (the Fastest):
1. | ObjectDB embedded | 100 |
2. | ObjectDB server | 37.7 |
3. | EclipseLink with Derby embedded | 26.6 |
4. | EclipseLink with PostgreSQL server | 22.3 |
5. | Hibernate with PostgreSQL server | 20.7 |
6. | DataNucleus with PostgreSQL server | 20.3 |
7. | Hibernate with Derby embedded | 19.4 |
8. | EclipseLink with Derby server | 17.3 |
9. | OpenJPA with Derby embedded | 15.2 |
10. | Hibernate with Derby server | 15.1 |
11. | DataNucleus with Derby embedded | 14.8 |
12. | DataNucleus with Derby server | 10.2 |
13. | OpenJPA with Derby server | 9.9 |
14. | EclipseLink with HSQLDB embedded | 6.9 |
15. | OpenJPA with HSQLDB embedded | 6.1 |
16. | EclipseLink with H2 embedded | 5.5 |
17. | OpenJPA with H2 embedded | 5.1 |
The Least Efficient (the Slowest):
18. | Hibernate with HSQLDB embedded | 4.7 |
19. | Hibernate with H2 embedded | 3.5 |
20. | Hibernate with MySQL server | 2.9 |
21. | DataNucleus with MySQL server | 2.8 |
22. | EclipseLink with H2 server | 2.8 |
23. | OpenJPA with H2 server | 2.5 |
24. | OpenJPA with MySQL server | 2.5 |
25. | Hibernate with H2 server | 2.3 |
26. | DataNucleus with H2 embedded | 2.3 |
27. | DataNucleus with H2 server | 1.9 |
28. | EclipseLink with MySQL server | 0.88 |
29. | DataNucleus with HSQLDB embedded | 0.80 |
30. | EclipseLink with SQLite embedded | 0.55 |
31. | Hibernate with SQLite embedded | 0.42 |
32. | DataNucleus with DB4O embedded | 0.0000 |
33. | OpenJPA with PostgreSQL server | 0.0000 |
Total number of failed test runs (out of 10 tests in total) in this page results
Notes: Failed test runs are not included in any average score calculation. Click on failure numbers to see exception stack traces.
The results above are averages of the following 10 concrete test results
- Basic Person Test - Query Operations - Few Entities (5/100)
- Basic Person Test - Query Operations - Many Entities (5000)
- Element Collection Test - Query Operations - Few Entities (5/100)
- Element Collection Test - Query Operations - Many Entities (5000)
- Inheritance Test - Query Operations - Few Entities (5/100)
- Inheritance Test - Query Operations - Many Entities (5000)
- Indexing Test - Query Operations - Few Entities (5/100)
- Indexing Test - Query Operations - Many Entities (5000)
- Multithreading Test - Query Operations - Few Entities (5/100)
- Multithreading Test - Query Operations - Many Entities (5000)