Hey,
I've been using ObjectDB for a small scale home project to gain some familiarity before proposing it in a commercial project at work.
What I've noticed though is that when using objectdb in embedded mode based on the console tutorial, there seems to be a bit of a performance gap running the same code between Java 6 & 7
Tracing it through I can see the bottle neck seems to be at the creation of the entity manager and I was wondering if there are any additional configuration options I may have missed while running under java 7.
long start = System.currentTimeMillis(); EntityManagerFactory emf = Persistence.createEntityManagerFactory("$objectdb/db/points.odb"); EntityManager em = emf.createEntityManager(); long end = System.currentTimeMillis(); System.out.printf("Load Time %s ms\n", (end-start));
Java 1.7.0_51-b13 (MacOS X)
Output: Load Time 30629 ms
Java 1.6.0_65 (MacOS X)
Output: Load Time 329 ms
Also see a similar execution time when closing the entity manager, however any operations once loaded appear to perform comparably.
I've tried running this on a brand new machine as well as my main dev machine and see similar results, both with the default configuration when downloaded and then again after adjusting the objectdb.conf to grant more memory/threads to applications but have not noticed any differences in performance so looking for some advice to see if there is something I have missed or this should be all I have to do to run under Java 7.
Thanks
- Andrew