Hi Pinaki, Thank you for the reference.
Could you please verify the following persistence.xml file (which seems to run fine) before I run the entire benchmark again? <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0"> <persistence-unit name="OpenJPA2-MySQL-server"> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> <class>org.jpab.basic.Person</class> <class>org.jpab.col.CollectionPerson</class> <class>org.jpab.ext.PersonBase</class> <class>org.jpab.ext.PersonExt</class> <class>org.jpab.ext.PersonExtExt</class> <class>org.jpab.index.IndexedPerson</class> <class>org.jpab.node.Node</class> <properties> <property name="openjpa.ConnectionProperties" value="DriverClassName=com.mysql.jdbc.Driver, Url=jdbc:mysql://localhost:3306/jpab4897789836, MaxActive=100, MaxWait=10000, TestOnBorrow=true, Username=admin, Password=admin"/> <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/> <property name="openjpa.jdbc.DBDictionary" value="batchLimit=100"/> <property name="openjpa.DataCache" value="true"/> <property name="openjpa.Log" value="DefaultLevel=ERROR"/> <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/> </properties> </persistence-unit> </persistence> Regarding your previous post: Pinaki Poddar wrote: > > "A huge performance gap has been detected when using simple basic entities > with small transaction/retrieval size. Comparing the normalized speed of > OpenJPA with MySQL database server (0.15) to the normalized speed of > Hibernate with MySQL database server (8.5) reveals that in that case, > Hibernate with MySQL server is 56.7 times faster than OpenJPA with MySQL > server. " > > All the OpenJPA users out there must be real dumb and must immediately > switch to something that is 56.7 times faster. Or not. When a benchmark > developer reports such drastic results -- they would be better off to > double-check their observations -- given that both the vendors had been in > operation for quite a while and users are *not* dumb. Actually such > drastic observations degrade one's confidence in these reported numbers > despite of them being presented with panache. > Please notice that 56.7 refers to an extreme edge case that has been detected automatically (this is a machine generated analysis) and not to the average performance gap. But if you look now at the new results: http://temp.jpab.org/OpenJPA_R2/MySQL/server/Hibernate/MySQL/server.html you can see that the maximum gap is now only 6 (the 56.7 has gone). Since I spent a lot of time in the last years on performance and optimizations, I know that a factor of 56 is not unusual. Look for example at: http://temp.jpab.org/OpenJPA/PostgreSQL/server/OpenJPA_R2/PostgreSQL/server.html#All You can see a performance gap of x200 - when comparing OpenJPA with PostreSQL to itself. One run with the OpenJPA 2.0 and out of the box configuration and the other run with OpenJPA 2.1 and some tuning. Jerry's observation should be taken in this context: No1UNo wrote: > > This test suite was clearly designed around the strengths of ObjectDB. > The factor of six between the 'ObjectDB server' and 'Hibernate with > PostgreSQL server' performance is just not credible otherwise. > Since ObjectDB requires much less processing (no JPA-JDBC-SQL-Database layers and most of the time complete objects are processed as atomic byte[] elements, rather than as collections of fields) - a factor of 6 looks very reasonable. You can see that even the same product might produce a much larger factor of 200. Best regards, Ilan -- View this message in context: http://openjpa.208410.n2.nabble.com/JPAB-results-tp5693298p5718395.html Sent from the OpenJPA Users mailing list archive at Nabble.com.