Hi, Are you holding hard references to the instances that are being deleted? Are you running the OpenJPA enhancer over your types?
-Patrick On 8/17/07, Christiaan <[EMAIL PROTECTED]> wrote: > > Hi, > I had a closer look at the performance of the myDelete() method. > > Time being spent as percentage of total time in MyDelete(): > > % of total time in flush() > 1 min 20% > 10 min 45% > > > > After 1 minute the hotspots look like this for flush() (self time = total > time - time being spent in other methods) > > method > self time (%) invocations > ------------------------------------------------------------------------------------------------------------------------------ > java.io.DataInputStream.readFully(byte[], int, int) > 913 ms (23%) 1224 > java.util.HashMap.getEntry(Object) > 74.1 ms (1,9%) 48831 > java.io.DataOutputStream.write(byte[], int, int) > 50.2 ms (1,3%) 610 > java.util.BitSet.get(int) > 31.5 ms (0,8%) 107295 > org.apache.openjpa.lib.util.concurrent.ReentrantLock.unlock() > 26.5 ms (0,7%) 92485 > ...... > java.io.DataOutputStream.flush() > 1.7 ms (0%) 4178 > > > after 10 mintes: > method > self time (%) invocations > --------------------------------------------------------------------------------------------------------------------------- > java.io.DataInputStream.readFully(byte[], int, int) > 7435 ms (5,4%) 21732 > java.util.BitSet.get(int) > 2920 ms (2,1%) 9607796 > org.apache.openjpa.kernel.StateManagerImpl.proxyFields(boolean, boolean) > 2459 ms (1,8%) 726936 > org.apache.openjpa.kernel.SingleFieldManager.proxy(boolean, boolean) > 1671 ms (1,2%) 4114255 > org.apache.openjpa.meta.ClassMetaData.getField(int) > 1128 ms (0,8%) 4784295 > org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntrySetIterator.hasNext() > 1083 ms (0,8%) 1449895 > org.apache.openjpa.kernel.StateManagerImpl.provideField(PersistenceCapable, > FieldManager, int) 978 ms (0,7%) 4128617 > ...... > java.io.DataOutputStream.write(byte[], int, int) > 836 ms (0,6%) 10864 > ...... > java.io.DataOutputStream.flush() > 2.92 ms (0%) 10864 > > btw, BitSet.get() is being called in StateManagerImpl.preFlush() > > So over time there is a significant increase in the time being spent in > openjpa methods. > > kind regards, > Christiaan > -- > View this message in context: > http://www.nabble.com/Performance%3A-single-vs-multiple-transactions-tf4272115.html#a12197421 > Sent from the OpenJPA Users mailing list archive at Nabble.com. > > -- Patrick Linskey 202 669 5907
