openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Linskey" <plins...@gmail.com>
Subject Re: Performance: single vs multiple transactions
Date Fri, 17 Aug 2007 13:48:35 GMT
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 <christiaan_db@hotmail.com> 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

Mime
View raw message