[infinispan-issues] [JBoss JIRA] (ISPN-5329) Reduce number of allocations

Radim Vansa (JIRA) issues at jboss.org
Thu Mar 26 08:42:53 EDT 2015


    [ https://issues.jboss.org/browse/ISPN-5329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13053553#comment-13053553 ] 

Radim Vansa edited comment on ISPN-5329 at 3/26/15 8:41 AM:
------------------------------------------------------------

Allocation counts (you can ignore the total invocations value in parentheses)
Stack traces are available, too. Some allocations could have slipped in which are not directly related with the request (especially in the 20 writes case), but generally it should provide good overview. Also, note that java.lang.Object, arrays, java.lang.ref.Reference and java.lang.ref.WeakReference were not instrumented and therefore are missing from this comparison.

Non-transactional put:
{code}
Before:
2.00/op (    476x) org.infinispan.metadata.EmbeddedMetadata
2.00/op (    476x) org.infinispan.metadata.EmbeddedMetadata$Builder
1.00/op (    238x) java.util.Collections$1
1.00/op (    238x) java.util.Collections$SingletonSet
1.00/op (    238x) java.util.concurrent.atomic.AtomicInteger
1.00/op (    238x) java.util.concurrent.locks.ReentrantLock$NonfairSync
1.00/op (    238x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (    238x) org.infinispan.commons.util.ByRef
1.00/op (    238x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
1.00/op (    238x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (    238x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (    238x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (    238x) org.infinispan.context.SingleKeyNonTxInvocationContext
1.00/op (    238x) org.infinispan.util.concurrent.locks.VisibleOwnerRefCountingReentrantLock
1.00/op (    238x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$1
1.00/op (    238x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$3

After:
1.00/op (    280x) java.util.Collections$1
1.00/op (    280x) java.util.Collections$SingletonSet
1.00/op (    280x) java.util.concurrent.locks.ReentrantLock$NonfairSync
1.00/op (    280x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (    280x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
1.00/op (    280x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (    280x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (    280x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (    280x) org.infinispan.context.SingleKeyNonTxInvocationContext
1.00/op (    280x) org.infinispan.util.concurrent.locks.VisibleOwnerRefCountingReentrantLock
1.00/op (    280x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
1.00/op (    280x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
{code}

Transactions registered as synchronizations:
Single write in transaction:
{code}
Before:
8.00/op (    264x) java.util.HashMap
6.00/op (    198x) java.util.Hashtable
4.00/op (    132x) com.arjuna.ats.arjuna.common.Uid
4.00/op (    132x) java.util.concurrent.ConcurrentHashMap$HashEntry
3.00/op (     99x) java.util.HashMap$Entry
3.00/op (     99x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
3.00/op (     99x) org.infinispan.context.impl.LocalTxInvocationContext
2.00/op (     66x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (     66x) java.lang.String
2.00/op (     66x) java.lang.StringBuilder
2.00/op (     66x) java.util.HashSet
2.00/op (     66x) java.util.Stack
2.00/op (     66x) java.util.TreeMap$KeyIterator
2.00/op (     66x) java.util.TreeSet
2.00/op (     66x) org.infinispan.metadata.EmbeddedMetadata
2.00/op (     66x) org.infinispan.metadata.EmbeddedMetadata$Builder
1.00/op (     33x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     33x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     33x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     33x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     33x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     33x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (     33x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     33x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     33x) java.lang.ThreadLocal
1.00/op (     33x) java.util.Collections$SynchronizedList
1.00/op (     33x) java.util.Collections$SynchronizedMap
1.00/op (     33x) java.util.Collections$SynchronizedSet
1.00/op (     33x) java.util.HashMap$EntryIterator
1.00/op (     33x) java.util.HashMap$EntrySet
1.00/op (     33x) java.util.HashMap$KeyIterator
1.00/op (     33x) java.util.HashMap$KeySet
1.00/op (     33x) java.util.Hashtable$Entry
1.00/op (     33x) java.util.LinkedList
1.00/op (     33x) java.util.LinkedList$ListItr
1.00/op (     33x) java.util.LinkedList$Node
1.00/op (     33x) java.util.TreeMap
1.00/op (     33x) java.util.TreeMap$Entry
1.00/op (     33x) java.util.TreeMap$KeySet
1.00/op (     33x) java.util.Vector$Itr
1.00/op (     33x) java.util.concurrent.atomic.AtomicInteger
1.00/op (     33x) org.infinispan.commands.tx.CommitCommand
1.00/op (     33x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     33x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (     33x) org.infinispan.commons.util.ByRef
1.00/op (     33x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (     33x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (     33x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (     33x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (     33x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (     33x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     33x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
1.00/op (     33x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$1
1.00/op (     33x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$3

After:
6.00/op (    294x) java.util.Hashtable
4.00/op (    196x) com.arjuna.ats.arjuna.common.Uid
4.00/op (    196x) java.util.HashMap
4.00/op (    196x) java.util.concurrent.ConcurrentHashMap$HashEntry
3.00/op (    147x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
3.00/op (    147x) org.infinispan.context.impl.LocalTxInvocationContext
2.00/op (     98x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (     98x) java.lang.String
2.00/op (     98x) java.lang.StringBuilder
2.00/op (     98x) java.util.Stack
2.00/op (     98x) java.util.TreeMap$KeyIterator
2.00/op (     98x) java.util.TreeSet
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     49x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     49x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (     49x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     49x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     49x) java.util.AbstractList$Itr
1.00/op (     49x) java.util.Collections$SynchronizedMap
1.00/op (     49x) java.util.HashMap$Entry
1.00/op (     49x) java.util.HashMap$EntryIterator
1.00/op (     49x) java.util.HashMap$EntrySet
1.00/op (     49x) java.util.Hashtable$Entry
1.00/op (     49x) java.util.TreeMap
1.00/op (     49x) java.util.TreeMap$Entry
1.00/op (     49x) java.util.TreeMap$KeySet
1.00/op (     49x) java.util.Vector$Itr
1.00/op (     49x) org.infinispan.commands.tx.CommitCommand
1.00/op (     49x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     49x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (     49x) org.infinispan.commons.collections.MiniSet
1.00/op (     49x) org.infinispan.commons.collections.MiniSet$SingleIterator
1.00/op (     49x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     49x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     49x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (     49x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (     49x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (     49x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (     49x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (     49x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     49x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
1.00/op (     49x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
1.00/op (     49x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
{code}

5 writes in transaction:
{code}
Before:
20.00/op (    220x) java.util.HashMap$Entry
16.00/op (    176x) java.lang.Integer
16.00/op (    176x) org.infinispan.commons.hash.MurmurHash3$State
16.00/op (    176x) sun.nio.cs.UTF_8$Encoder
10.00/op (    110x) java.util.HashMap
9.55/op (    105x) org.infinispan.metadata.EmbeddedMetadata
9.55/op (    105x) org.infinispan.metadata.EmbeddedMetadata$Builder
7.55/op (     83x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
7.00/op (     77x) org.infinispan.context.impl.LocalTxInvocationContext
6.00/op (     66x) java.util.Hashtable
5.36/op (     59x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
5.00/op (     55x) java.lang.ThreadLocal
5.00/op (     55x) java.util.LinkedList$Node
5.00/op (     55x) java.util.concurrent.atomic.AtomicInteger
5.00/op (     55x) org.infinispan.commands.write.PutKeyValueCommand
5.00/op (     55x) org.infinispan.commons.util.ByRef
5.00/op (     55x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
5.00/op (     55x) org.infinispan.container.entries.ReadCommittedEntry
5.00/op (     55x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
5.00/op (     55x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$1
5.00/op (     55x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$3
4.00/op (     44x) com.arjuna.ats.arjuna.common.Uid
4.00/op (     44x) java.util.concurrent.ConcurrentHashMap$HashEntry
3.00/op (     33x) java.util.HashSet
2.00/op (     22x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (     22x) java.lang.String
2.00/op (     22x) java.lang.StringBuilder
2.00/op (     22x) java.util.HashMap$KeyIterator
2.00/op (     22x) java.util.HashMap$KeySet
2.00/op (     22x) java.util.Stack
2.00/op (     22x) java.util.TreeMap$KeyIterator
2.00/op (     22x) java.util.TreeSet
1.82/op (     20x) java.util.concurrent.ConcurrentHashMap$Segment
1.82/op (     20x) java.util.concurrent.locks.ReentrantLock$NonfairSync
1.00/op (     11x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     11x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     11x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     11x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     11x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     11x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (     11x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     11x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     11x) java.util.Collections$SynchronizedList
1.00/op (     11x) java.util.Collections$SynchronizedMap
1.00/op (     11x) java.util.Collections$SynchronizedSet
1.00/op (     11x) java.util.HashMap$EntryIterator
1.00/op (     11x) java.util.HashMap$EntrySet
1.00/op (     11x) java.util.Hashtable$Entry
1.00/op (     11x) java.util.LinkedList
1.00/op (     11x) java.util.LinkedList$ListItr
1.00/op (     11x) java.util.TreeMap
1.00/op (     11x) java.util.TreeMap$Entry
1.00/op (     11x) java.util.TreeMap$KeySet
1.00/op (     11x) java.util.Vector$Itr
1.00/op (     11x) org.infinispan.commands.tx.CommitCommand
1.00/op (     11x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     11x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (     11x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (     11x) org.infinispan.transaction.xa.GlobalTransaction

After:
16.00/op (    224x) org.infinispan.commons.hash.MurmurHash3$State
16.00/op (    224x) sun.nio.cs.UTF_8$Encoder
10.00/op (    140x) java.util.HashMap$Entry
7.43/op (    104x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
7.00/op (     98x) org.infinispan.context.impl.LocalTxInvocationContext
6.00/op (     84x) java.util.HashMap
6.00/op (     84x) java.util.Hashtable
5.29/op (     74x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
5.00/op (     70x) org.infinispan.commands.write.PutKeyValueCommand
5.00/op (     70x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
5.00/op (     70x) org.infinispan.container.entries.ReadCommittedEntry
5.00/op (     70x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
5.00/op (     70x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
5.00/op (     70x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
4.14/op (     58x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (     56x) com.arjuna.ats.arjuna.common.Uid
3.00/op (     42x) java.lang.String
2.57/op (     36x) java.util.concurrent.ConcurrentHashMap$Segment
2.57/op (     36x) java.util.concurrent.locks.ReentrantLock$NonfairSync
2.07/op (     29x) java.lang.StringBuilder
2.00/op (     28x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (     28x) java.util.Stack
2.00/op (     28x) java.util.TreeMap$KeyIterator
2.00/op (     28x) java.util.TreeSet
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     14x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     14x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (     14x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     14x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     14x) java.util.AbstractList$Itr
1.00/op (     14x) java.util.Collections$SynchronizedMap
1.00/op (     14x) java.util.HashMap$EntryIterator
1.00/op (     14x) java.util.HashMap$EntrySet
1.00/op (     14x) java.util.HashMap$KeyIterator
1.00/op (     14x) java.util.HashMap$KeySet
1.00/op (     14x) java.util.HashSet
1.00/op (     14x) java.util.Hashtable$Entry
1.00/op (     14x) java.util.TreeMap
1.00/op (     14x) java.util.TreeMap$Entry
1.00/op (     14x) java.util.TreeMap$KeySet
1.00/op (     14x) java.util.Vector$Itr
1.00/op (     14x) org.infinispan.commands.tx.CommitCommand
1.00/op (     14x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     14x) org.infinispan.commons.collections.MiniSet
1.00/op (     14x) org.infinispan.commons.collections.MiniSet$ArrayIterator
1.00/op (     14x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     14x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     14x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (     14x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (     14x) org.infinispan.transaction.xa.GlobalTransaction
{code}

20 writes in transaction:
{code}
Before:
124.00/op (    248x) java.lang.Integer
124.00/op (    248x) org.infinispan.commons.hash.MurmurHash3$State
124.00/op (    248x) sun.nio.cs.UTF_8$Encoder
80.00/op (    160x) java.util.HashMap$Entry
34.00/op (     68x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
30.00/op (     60x) org.infinispan.metadata.EmbeddedMetadata
30.00/op (     60x) org.infinispan.metadata.EmbeddedMetadata$Builder
28.00/op (     56x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
22.00/op (     44x) org.infinispan.context.impl.LocalTxInvocationContext
20.00/op (     40x) java.lang.ThreadLocal
20.00/op (     40x) java.util.LinkedList$Node
20.00/op (     40x) java.util.concurrent.atomic.AtomicInteger
20.00/op (     40x) org.infinispan.commands.write.PutKeyValueCommand
20.00/op (     40x) org.infinispan.commons.util.ByRef
20.00/op (     40x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
20.00/op (     40x) org.infinispan.container.entries.ReadCommittedEntry
20.00/op (     40x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
20.00/op (     40x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$1
20.00/op (     40x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$3
16.00/op (     32x) java.lang.String
10.00/op (     20x) java.util.HashMap
10.00/op (     20x) org.infinispan.container.entries.ImmortalCacheEntry
6.00/op (     12x) java.util.Hashtable
6.00/op (     12x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (      8x) com.arjuna.ats.arjuna.common.Uid
4.00/op (      8x) java.util.concurrent.ConcurrentHashMap$Segment
4.00/op (      8x) java.util.concurrent.locks.ReentrantLock$NonfairSync
3.00/op (      6x) java.lang.StringBuilder
3.00/op (      6x) java.util.HashSet
2.00/op (      4x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (      4x) java.lang.ref.Finalizer
2.00/op (      4x) java.net.URL
2.00/op (      4x) java.net.URLClassLoader$1
2.00/op (      4x) java.util.HashMap$KeyIterator
2.00/op (      4x) java.util.HashMap$KeySet
2.00/op (      4x) java.util.Stack
2.00/op (      4x) java.util.TreeMap$KeyIterator
2.00/op (      4x) java.util.TreeSet
2.00/op (      4x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ForwardingNode
1.50/op (      3x) java.util.HashMap$EntryIterator
1.50/op (      3x) java.util.HashMap$EntrySet
1.50/op (      3x) java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
1.00/op (      2x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (      2x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (      2x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (      2x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (      2x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (      2x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (      2x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (      2x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (      2x) java.lang.ClassNotFoundException
1.00/op (      2x) java.lang.StringBuffer
1.00/op (      2x) java.security.CodeSource
1.00/op (      2x) java.security.PrivilegedActionException
1.00/op (      2x) java.util.Collections$SynchronizedList
1.00/op (      2x) java.util.Collections$SynchronizedMap
1.00/op (      2x) java.util.Collections$SynchronizedSet
1.00/op (      2x) java.util.Hashtable$Entry
1.00/op (      2x) java.util.LinkedList
1.00/op (      2x) java.util.LinkedList$ListItr
1.00/op (      2x) java.util.TreeMap
1.00/op (      2x) java.util.TreeMap$Entry
1.00/op (      2x) java.util.TreeMap$KeySet
1.00/op (      2x) java.util.Vector$Itr
1.00/op (      2x) org.infinispan.commands.tx.CommitCommand
1.00/op (      2x) org.infinispan.commands.tx.PrepareCommand
1.00/op (      2x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (      2x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (      2x) org.infinispan.transaction.xa.GlobalTransaction

After:
124.00/op (    372x) org.infinispan.commons.hash.MurmurHash3$State
124.00/op (    372x) sun.nio.cs.UTF_8$Encoder
80.00/op (    240x) java.util.HashMap$Entry
30.00/op (     90x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
25.33/op (     76x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
22.00/op (     66x) org.infinispan.context.impl.LocalTxInvocationContext
20.00/op (     60x) org.infinispan.commands.write.PutKeyValueCommand
20.00/op (     60x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
20.00/op (     60x) org.infinispan.container.entries.ReadCommittedEntry
20.00/op (     60x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
11.33/op (     34x) java.lang.String
10.00/op (     30x) java.util.HashMap
6.67/op (     20x) org.infinispan.container.entries.ImmortalCacheEntry
6.00/op (     18x) java.util.Hashtable
5.33/op (     16x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (     12x) com.arjuna.ats.arjuna.common.Uid
2.67/op (      8x) java.lang.StringBuilder
2.67/op (      8x) java.util.concurrent.ConcurrentHashMap$Segment
2.67/op (      8x) java.util.concurrent.locks.ReentrantLock$NonfairSync
2.00/op (      6x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (      6x) java.util.HashMap$KeyIterator
2.00/op (      6x) java.util.HashMap$KeySet
2.00/op (      6x) java.util.Stack
2.00/op (      6x) java.util.TreeMap$KeyIterator
2.00/op (      6x) java.util.TreeSet
1.33/op (      4x) java.lang.ref.Finalizer
1.33/op (      4x) java.net.URL
1.33/op (      4x) java.net.URLClassLoader$1
1.33/op (      4x) java.util.HashMap$EntryIterator
1.33/op (      4x) java.util.HashMap$EntrySet
1.33/op (      4x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ForwardingNode
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (      3x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (      3x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (      3x) java.util.AbstractList$Itr
1.00/op (      3x) java.util.Collections$SynchronizedMap
1.00/op (      3x) java.util.HashSet
1.00/op (      3x) java.util.Hashtable$Entry
1.00/op (      3x) java.util.TreeMap
1.00/op (      3x) java.util.TreeMap$Entry
1.00/op (      3x) java.util.TreeMap$KeySet
1.00/op (      3x) java.util.Vector$Itr
1.00/op (      3x) org.infinispan.commands.tx.CommitCommand
1.00/op (      3x) org.infinispan.commands.tx.PrepareCommand
1.00/op (      3x) org.infinispan.commons.collections.MiniSet
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (      3x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (      3x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (      3x) org.infinispan.transaction.xa.GlobalTransaction
{code}

XA resource:
Single write in transaction:
{code}
Before:
10.00/op (    290x) java.util.Hashtable
8.00/op (    232x) java.util.HashMap
6.00/op (    174x) com.arjuna.ats.arjuna.common.Uid
4.00/op (    116x) com.arjuna.ats.internal.arjuna.common.BasicMutex
4.00/op (    116x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (    116x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
3.00/op (     87x) com.arjuna.ats.arjuna.coordinator.RecordList
3.00/op (     87x) java.util.HashMap$Entry
3.00/op (     87x) org.infinispan.context.impl.LocalTxInvocationContext
2.00/op (     58x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (     58x) java.io.ByteArrayOutputStream
2.00/op (     58x) java.io.DataOutputStream
2.00/op (     58x) java.lang.String
2.00/op (     58x) java.lang.StringBuilder
2.00/op (     58x) java.util.ArrayList
2.00/op (     58x) java.util.HashSet
2.00/op (     58x) java.util.Hashtable$Entry
2.00/op (     58x) org.infinispan.metadata.EmbeddedMetadata
2.00/op (     58x) org.infinispan.metadata.EmbeddedMetadata$Builder
1.00/op (     29x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     29x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     29x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     29x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     29x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     29x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (     29x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     29x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     29x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (     29x) com.arjuna.ats.jta.xa.XidImple
1.00/op (     29x) java.lang.ThreadLocal
1.00/op (     29x) java.util.Collections$SynchronizedList
1.00/op (     29x) java.util.Collections$SynchronizedMap
1.00/op (     29x) java.util.Collections$SynchronizedSet
1.00/op (     29x) java.util.HashMap$EntryIterator
1.00/op (     29x) java.util.HashMap$EntrySet
1.00/op (     29x) java.util.HashMap$KeyIterator
1.00/op (     29x) java.util.HashMap$KeySet
1.00/op (     29x) java.util.LinkedList
1.00/op (     29x) java.util.LinkedList$ListItr
1.00/op (     29x) java.util.LinkedList$Node
1.00/op (     29x) java.util.Stack
1.00/op (     29x) java.util.concurrent.atomic.AtomicInteger
1.00/op (     29x) org.infinispan.commands.tx.CommitCommand
1.00/op (     29x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     29x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (     29x) org.infinispan.commons.util.ByRef
1.00/op (     29x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (     29x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (     29x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (     29x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     29x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (     29x) org.infinispan.transaction.xa.TransactionXaAdapter
1.00/op (     29x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
1.00/op (     29x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$1
1.00/op (     29x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$3

After:
10.00/op (    380x) java.util.Hashtable
6.00/op (    228x) com.arjuna.ats.arjuna.common.Uid
4.00/op (    152x) com.arjuna.ats.internal.arjuna.common.BasicMutex
4.00/op (    152x) java.util.HashMap
4.00/op (    152x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (    152x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
3.00/op (    114x) com.arjuna.ats.arjuna.coordinator.RecordList
3.00/op (    114x) org.infinispan.context.impl.LocalTxInvocationContext
2.00/op (     76x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (     76x) java.io.ByteArrayOutputStream
2.00/op (     76x) java.io.DataOutputStream
2.00/op (     76x) java.lang.String
2.00/op (     76x) java.lang.StringBuilder
2.00/op (     76x) java.util.ArrayList
2.00/op (     76x) java.util.Hashtable$Entry
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     38x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     38x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (     38x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     38x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     38x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (     38x) com.arjuna.ats.jta.xa.XidImple
1.00/op (     38x) java.util.AbstractList$Itr
1.00/op (     38x) java.util.Collections$SynchronizedMap
1.00/op (     38x) java.util.HashMap$Entry
1.00/op (     38x) java.util.HashMap$EntryIterator
1.00/op (     38x) java.util.HashMap$EntrySet
1.00/op (     38x) java.util.Stack
1.00/op (     38x) org.infinispan.commands.tx.CommitCommand
1.00/op (     38x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     38x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (     38x) org.infinispan.commons.collections.MiniSet
1.00/op (     38x) org.infinispan.commons.collections.MiniSet$SingleIterator
1.00/op (     38x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     38x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     38x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (     38x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (     38x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (     38x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     38x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (     38x) org.infinispan.transaction.xa.TransactionXaAdapter
1.00/op (     38x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
1.00/op (     38x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
1.00/op (     38x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
{code}

5 writes in transaction:
{code}
Before:
20.00/op (    200x) java.util.HashMap$Entry
16.00/op (    160x) java.lang.Integer
16.00/op (    160x) org.infinispan.commons.hash.MurmurHash3$State
16.00/op (    160x) sun.nio.cs.UTF_8$Encoder
10.00/op (    100x) java.util.HashMap
10.00/op (    100x) java.util.Hashtable
9.50/op (     95x) org.infinispan.metadata.EmbeddedMetadata
9.50/op (     95x) org.infinispan.metadata.EmbeddedMetadata$Builder
8.60/op (     86x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
7.00/op (     70x) org.infinispan.context.impl.LocalTxInvocationContext
6.00/op (     60x) com.arjuna.ats.arjuna.common.Uid
5.40/op (     54x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
5.00/op (     50x) java.lang.ThreadLocal
5.00/op (     50x) java.util.LinkedList$Node
5.00/op (     50x) java.util.concurrent.atomic.AtomicInteger
5.00/op (     50x) org.infinispan.commands.write.PutKeyValueCommand
5.00/op (     50x) org.infinispan.commons.util.ByRef
5.00/op (     50x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
5.00/op (     50x) org.infinispan.container.entries.ReadCommittedEntry
5.00/op (     50x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
5.00/op (     50x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$1
5.00/op (     50x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$3
4.00/op (     40x) com.arjuna.ats.internal.arjuna.common.BasicMutex
4.00/op (     40x) java.util.concurrent.ConcurrentHashMap$HashEntry
3.00/op (     30x) com.arjuna.ats.arjuna.coordinator.RecordList
3.00/op (     30x) java.util.HashSet
2.00/op (     20x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (     20x) java.io.ByteArrayOutputStream
2.00/op (     20x) java.io.DataOutputStream
2.00/op (     20x) java.lang.String
2.00/op (     20x) java.lang.StringBuilder
2.00/op (     20x) java.util.ArrayList
2.00/op (     20x) java.util.HashMap$KeyIterator
2.00/op (     20x) java.util.HashMap$KeySet
2.00/op (     20x) java.util.Hashtable$Entry
2.00/op (     20x) java.util.concurrent.ConcurrentHashMap$Segment
2.00/op (     20x) java.util.concurrent.locks.ReentrantLock$NonfairSync
1.00/op (     10x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     10x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     10x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     10x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     10x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     10x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (     10x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     10x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     10x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (     10x) com.arjuna.ats.jta.xa.XidImple
1.00/op (     10x) java.util.Collections$SynchronizedList
1.00/op (     10x) java.util.Collections$SynchronizedMap
1.00/op (     10x) java.util.Collections$SynchronizedSet
1.00/op (     10x) java.util.HashMap$EntryIterator
1.00/op (     10x) java.util.HashMap$EntrySet
1.00/op (     10x) java.util.LinkedList
1.00/op (     10x) java.util.LinkedList$ListItr
1.00/op (     10x) java.util.Stack
1.00/op (     10x) org.infinispan.commands.tx.CommitCommand
1.00/op (     10x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     10x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     10x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (     10x) org.infinispan.transaction.xa.TransactionXaAdapter

After:
16.00/op (    208x) org.infinispan.commons.hash.MurmurHash3$State
16.00/op (    208x) sun.nio.cs.UTF_8$Encoder
10.00/op (    130x) java.util.HashMap$Entry
10.00/op (    130x) java.util.Hashtable
8.46/op (    110x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
7.00/op (     91x) org.infinispan.context.impl.LocalTxInvocationContext
6.00/op (     78x) com.arjuna.ats.arjuna.common.Uid
6.00/op (     78x) java.util.HashMap
5.31/op (     69x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
5.00/op (     65x) org.infinispan.commands.write.PutKeyValueCommand
5.00/op (     65x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
5.00/op (     65x) org.infinispan.container.entries.ReadCommittedEntry
5.00/op (     65x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
5.00/op (     65x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
5.00/op (     65x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
4.15/op (     54x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (     52x) com.arjuna.ats.internal.arjuna.common.BasicMutex
3.08/op (     40x) java.lang.String
3.00/op (     39x) com.arjuna.ats.arjuna.coordinator.RecordList
2.46/op (     32x) java.util.concurrent.ConcurrentHashMap$Segment
2.46/op (     32x) java.util.concurrent.locks.ReentrantLock$NonfairSync
2.08/op (     27x) java.lang.StringBuilder
2.00/op (     26x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (     26x) java.io.ByteArrayOutputStream
2.00/op (     26x) java.io.DataOutputStream
2.00/op (     26x) java.util.ArrayList
2.00/op (     26x) java.util.Hashtable$Entry
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     13x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     13x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (     13x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     13x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     13x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (     13x) com.arjuna.ats.jta.xa.XidImple
1.00/op (     13x) java.util.AbstractList$Itr
1.00/op (     13x) java.util.Collections$SynchronizedMap
1.00/op (     13x) java.util.HashMap$EntryIterator
1.00/op (     13x) java.util.HashMap$EntrySet
1.00/op (     13x) java.util.HashMap$KeyIterator
1.00/op (     13x) java.util.HashMap$KeySet
1.00/op (     13x) java.util.HashSet
1.00/op (     13x) java.util.Stack
1.00/op (     13x) org.infinispan.commands.tx.CommitCommand
1.00/op (     13x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     13x) org.infinispan.commons.collections.MiniSet
1.00/op (     13x) org.infinispan.commons.collections.MiniSet$ArrayIterator
1.00/op (     13x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     13x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     13x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     13x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (     13x) org.infinispan.transaction.xa.TransactionXaAdapter
{code}

20 writes in transaction:
{code}
Before:
124.00/op (    372x) java.lang.Integer
124.00/op (    372x) org.infinispan.commons.hash.MurmurHash3$State
124.00/op (    372x) sun.nio.cs.UTF_8$Encoder
80.00/op (    240x) java.util.HashMap$Entry
33.33/op (    100x) org.infinispan.metadata.EmbeddedMetadata
33.33/op (    100x) org.infinispan.metadata.EmbeddedMetadata$Builder
31.00/op (     93x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
25.33/op (     76x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
22.00/op (     66x) org.infinispan.context.impl.LocalTxInvocationContext
20.00/op (     60x) java.lang.ThreadLocal
20.00/op (     60x) java.util.LinkedList$Node
20.00/op (     60x) java.util.concurrent.atomic.AtomicInteger
20.00/op (     60x) org.infinispan.commands.write.PutKeyValueCommand
20.00/op (     60x) org.infinispan.commons.util.ByRef
20.00/op (     60x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
20.00/op (     60x) org.infinispan.container.entries.ReadCommittedEntry
20.00/op (     60x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$1
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$3
11.33/op (     34x) java.lang.String
10.00/op (     30x) java.util.HashMap
10.00/op (     30x) java.util.Hashtable
6.67/op (     20x) org.infinispan.container.entries.ImmortalCacheEntry
6.00/op (     18x) com.arjuna.ats.arjuna.common.Uid
5.33/op (     16x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (     12x) com.arjuna.ats.internal.arjuna.common.BasicMutex
4.00/op (     12x) java.util.concurrent.ConcurrentHashMap$Segment
4.00/op (     12x) java.util.concurrent.locks.ReentrantLock$NonfairSync
3.00/op (      9x) com.arjuna.ats.arjuna.coordinator.RecordList
3.00/op (      9x) java.util.HashSet
2.67/op (      8x) java.lang.StringBuilder
2.00/op (      6x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (      6x) java.io.ByteArrayOutputStream
2.00/op (      6x) java.io.DataOutputStream
2.00/op (      6x) java.util.ArrayList
2.00/op (      6x) java.util.HashMap$KeyIterator
2.00/op (      6x) java.util.HashMap$KeySet
2.00/op (      6x) java.util.Hashtable$Entry
1.33/op (      4x) java.util.HashMap$EntryIterator
1.33/op (      4x) java.util.HashMap$EntrySet
1.33/op (      4x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ForwardingNode
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (      3x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (      3x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (      3x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (      3x) com.arjuna.ats.jta.xa.XidImple
1.00/op (      3x) java.util.Collections$SynchronizedList
1.00/op (      3x) java.util.Collections$SynchronizedMap
1.00/op (      3x) java.util.Collections$SynchronizedSet
1.00/op (      3x) java.util.LinkedList
1.00/op (      3x) java.util.LinkedList$ListItr
1.00/op (      3x) java.util.Stack
1.00/op (      3x) java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
1.00/op (      3x) org.infinispan.commands.tx.CommitCommand
1.00/op (      3x) org.infinispan.commands.tx.PrepareCommand
1.00/op (      3x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (      3x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (      3x) org.infinispan.transaction.xa.TransactionXaAdapter

After:
124.00/op (    372x) org.infinispan.commons.hash.MurmurHash3$State
124.00/op (    372x) sun.nio.cs.UTF_8$Encoder
80.00/op (    240x) java.util.HashMap$Entry
31.00/op (     93x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
25.33/op (     76x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
22.00/op (     66x) org.infinispan.context.impl.LocalTxInvocationContext
20.00/op (     60x) org.infinispan.commands.write.PutKeyValueCommand
20.00/op (     60x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
20.00/op (     60x) org.infinispan.container.entries.ReadCommittedEntry
20.00/op (     60x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
16.00/op (     48x) java.util.concurrent.ConcurrentHashMap$HashEntry
11.33/op (     34x) java.lang.String
10.00/op (     30x) java.util.HashMap
10.00/op (     30x) java.util.Hashtable
6.67/op (     20x) org.infinispan.container.entries.ImmortalCacheEntry
6.00/op (     18x) com.arjuna.ats.arjuna.common.Uid
4.00/op (     12x) com.arjuna.ats.internal.arjuna.common.BasicMutex
4.00/op (     12x) java.util.concurrent.ConcurrentHashMap$Segment
4.00/op (     12x) java.util.concurrent.locks.ReentrantLock$NonfairSync
3.00/op (      9x) com.arjuna.ats.arjuna.coordinator.RecordList
2.67/op (      8x) java.lang.StringBuilder
2.00/op (      6x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (      6x) java.io.ByteArrayOutputStream
2.00/op (      6x) java.io.DataOutputStream
2.00/op (      6x) java.util.ArrayList
2.00/op (      6x) java.util.HashMap$KeyIterator
2.00/op (      6x) java.util.HashMap$KeySet
2.00/op (      6x) java.util.Hashtable$Entry
1.33/op (      4x) java.util.HashMap$EntryIterator
1.33/op (      4x) java.util.HashMap$EntrySet
1.33/op (      4x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ForwardingNode
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (      3x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (      3x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (      3x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (      3x) com.arjuna.ats.jta.xa.XidImple
1.00/op (      3x) java.util.AbstractList$Itr
1.00/op (      3x) java.util.Collections$SynchronizedMap
1.00/op (      3x) java.util.HashSet
1.00/op (      3x) java.util.Stack
1.00/op (      3x) java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
1.00/op (      3x) org.infinispan.commands.tx.CommitCommand
1.00/op (      3x) org.infinispan.commands.tx.PrepareCommand
1.00/op (      3x) org.infinispan.commons.collections.MiniSet
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (      3x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (      3x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (      3x) org.infinispan.transaction.xa.TransactionXaAdapter
{code}




was (Author: rvansa):
Allocation counts including changes in PR: (you can ignore the total invocations value in parentheses)
Stack traces are available, too.

Non-transactional put:
{code}
1.00/op (    280x) java.util.Collections$1
1.00/op (    280x) java.util.Collections$SingletonSet
1.00/op (    280x) java.util.concurrent.locks.ReentrantLock$NonfairSync
1.00/op (    280x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (    280x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
1.00/op (    280x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (    280x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (    280x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (    280x) org.infinispan.context.SingleKeyNonTxInvocationContext
1.00/op (    280x) org.infinispan.util.concurrent.locks.VisibleOwnerRefCountingReentrantLock
1.00/op (    280x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
1.00/op (    280x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
{code}

Transactions registered as synchronizations:
Single write in transaction:
{code}
6.00/op (    294x) java.util.Hashtable
4.00/op (    196x) com.arjuna.ats.arjuna.common.Uid
4.00/op (    196x) java.util.HashMap
4.00/op (    196x) java.util.concurrent.ConcurrentHashMap$HashEntry
3.00/op (    147x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
3.00/op (    147x) org.infinispan.context.impl.LocalTxInvocationContext
2.00/op (     98x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (     98x) java.lang.String
2.00/op (     98x) java.lang.StringBuilder
2.00/op (     98x) java.util.Stack
2.00/op (     98x) java.util.TreeMap$KeyIterator
2.00/op (     98x) java.util.TreeSet
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     49x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     49x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     49x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (     49x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     49x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     49x) java.util.AbstractList$Itr
1.00/op (     49x) java.util.Collections$SynchronizedMap
1.00/op (     49x) java.util.HashMap$Entry
1.00/op (     49x) java.util.HashMap$EntryIterator
1.00/op (     49x) java.util.HashMap$EntrySet
1.00/op (     49x) java.util.Hashtable$Entry
1.00/op (     49x) java.util.TreeMap
1.00/op (     49x) java.util.TreeMap$Entry
1.00/op (     49x) java.util.TreeMap$KeySet
1.00/op (     49x) java.util.Vector$Itr
1.00/op (     49x) org.infinispan.commands.tx.CommitCommand
1.00/op (     49x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     49x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (     49x) org.infinispan.commons.collections.MiniSet
1.00/op (     49x) org.infinispan.commons.collections.MiniSet$SingleIterator
1.00/op (     49x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     49x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     49x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (     49x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (     49x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (     49x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (     49x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (     49x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     49x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
1.00/op (     49x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
1.00/op (     49x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
{code}

5 writes in transaction:
{code}
16.00/op (    224x) org.infinispan.commons.hash.MurmurHash3$State
16.00/op (    224x) sun.nio.cs.UTF_8$Encoder
10.00/op (    140x) java.util.HashMap$Entry
7.43/op (    104x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
7.00/op (     98x) org.infinispan.context.impl.LocalTxInvocationContext
6.00/op (     84x) java.util.HashMap
6.00/op (     84x) java.util.Hashtable
5.29/op (     74x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
5.00/op (     70x) org.infinispan.commands.write.PutKeyValueCommand
5.00/op (     70x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
5.00/op (     70x) org.infinispan.container.entries.ReadCommittedEntry
5.00/op (     70x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
5.00/op (     70x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
5.00/op (     70x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
4.14/op (     58x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (     56x) com.arjuna.ats.arjuna.common.Uid
3.00/op (     42x) java.lang.String
2.57/op (     36x) java.util.concurrent.ConcurrentHashMap$Segment
2.57/op (     36x) java.util.concurrent.locks.ReentrantLock$NonfairSync
2.07/op (     29x) java.lang.StringBuilder
2.00/op (     28x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (     28x) java.util.Stack
2.00/op (     28x) java.util.TreeMap$KeyIterator
2.00/op (     28x) java.util.TreeSet
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     14x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     14x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     14x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (     14x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     14x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     14x) java.util.AbstractList$Itr
1.00/op (     14x) java.util.Collections$SynchronizedMap
1.00/op (     14x) java.util.HashMap$EntryIterator
1.00/op (     14x) java.util.HashMap$EntrySet
1.00/op (     14x) java.util.HashMap$KeyIterator
1.00/op (     14x) java.util.HashMap$KeySet
1.00/op (     14x) java.util.HashSet
1.00/op (     14x) java.util.Hashtable$Entry
1.00/op (     14x) java.util.TreeMap
1.00/op (     14x) java.util.TreeMap$Entry
1.00/op (     14x) java.util.TreeMap$KeySet
1.00/op (     14x) java.util.Vector$Itr
1.00/op (     14x) org.infinispan.commands.tx.CommitCommand
1.00/op (     14x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     14x) org.infinispan.commons.collections.MiniSet
1.00/op (     14x) org.infinispan.commons.collections.MiniSet$ArrayIterator
1.00/op (     14x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     14x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     14x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (     14x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (     14x) org.infinispan.transaction.xa.GlobalTransaction
{code}

20 writes in transaction:
{code}
124.00/op (    372x) org.infinispan.commons.hash.MurmurHash3$State
124.00/op (    372x) sun.nio.cs.UTF_8$Encoder
80.00/op (    240x) java.util.HashMap$Entry
30.00/op (     90x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
25.33/op (     76x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
22.00/op (     66x) org.infinispan.context.impl.LocalTxInvocationContext
20.00/op (     60x) org.infinispan.commands.write.PutKeyValueCommand
20.00/op (     60x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
20.00/op (     60x) org.infinispan.container.entries.ReadCommittedEntry
20.00/op (     60x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
11.33/op (     34x) java.lang.String
10.00/op (     30x) java.util.HashMap
6.67/op (     20x) org.infinispan.container.entries.ImmortalCacheEntry
6.00/op (     18x) java.util.Hashtable
5.33/op (     16x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (     12x) com.arjuna.ats.arjuna.common.Uid
2.67/op (      8x) java.lang.StringBuilder
2.67/op (      8x) java.util.concurrent.ConcurrentHashMap$Segment
2.67/op (      8x) java.util.concurrent.locks.ReentrantLock$NonfairSync
2.00/op (      6x) com.arjuna.ats.internal.arjuna.common.BasicMutex
2.00/op (      6x) java.util.HashMap$KeyIterator
2.00/op (      6x) java.util.HashMap$KeySet
2.00/op (      6x) java.util.Stack
2.00/op (      6x) java.util.TreeMap$KeyIterator
2.00/op (      6x) java.util.TreeSet
1.33/op (      4x) java.lang.ref.Finalizer
1.33/op (      4x) java.net.URL
1.33/op (      4x) java.net.URLClassLoader$1
1.33/op (      4x) java.util.HashMap$EntryIterator
1.33/op (      4x) java.util.HashMap$EntrySet
1.33/op (      4x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ForwardingNode
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (      3x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (      3x) com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (      3x) java.util.AbstractList$Itr
1.00/op (      3x) java.util.Collections$SynchronizedMap
1.00/op (      3x) java.util.HashSet
1.00/op (      3x) java.util.Hashtable$Entry
1.00/op (      3x) java.util.TreeMap
1.00/op (      3x) java.util.TreeMap$Entry
1.00/op (      3x) java.util.TreeMap$KeySet
1.00/op (      3x) java.util.Vector$Itr
1.00/op (      3x) org.infinispan.commands.tx.CommitCommand
1.00/op (      3x) org.infinispan.commands.tx.PrepareCommand
1.00/op (      3x) org.infinispan.commons.collections.MiniSet
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (      3x) org.infinispan.transaction.synchronization.SyncLocalTransaction
1.00/op (      3x) org.infinispan.transaction.synchronization.SynchronizationAdapter
1.00/op (      3x) org.infinispan.transaction.xa.GlobalTransaction
{code}

XA resource:
Single write in transaction:
{code}
10.00/op (    380x) java.util.Hashtable
6.00/op (    228x) com.arjuna.ats.arjuna.common.Uid
4.00/op (    152x) com.arjuna.ats.internal.arjuna.common.BasicMutex
4.00/op (    152x) java.util.HashMap
4.00/op (    152x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (    152x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
3.00/op (    114x) com.arjuna.ats.arjuna.coordinator.RecordList
3.00/op (    114x) org.infinispan.context.impl.LocalTxInvocationContext
2.00/op (     76x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (     76x) java.io.ByteArrayOutputStream
2.00/op (     76x) java.io.DataOutputStream
2.00/op (     76x) java.lang.String
2.00/op (     76x) java.lang.StringBuilder
2.00/op (     76x) java.util.ArrayList
2.00/op (     76x) java.util.Hashtable$Entry
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     38x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     38x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     38x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (     38x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     38x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     38x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (     38x) com.arjuna.ats.jta.xa.XidImple
1.00/op (     38x) java.util.AbstractList$Itr
1.00/op (     38x) java.util.Collections$SynchronizedMap
1.00/op (     38x) java.util.HashMap$Entry
1.00/op (     38x) java.util.HashMap$EntryIterator
1.00/op (     38x) java.util.HashMap$EntrySet
1.00/op (     38x) java.util.Stack
1.00/op (     38x) org.infinispan.commands.tx.CommitCommand
1.00/op (     38x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     38x) org.infinispan.commands.write.PutKeyValueCommand
1.00/op (     38x) org.infinispan.commons.collections.MiniSet
1.00/op (     38x) org.infinispan.commons.collections.MiniSet$SingleIterator
1.00/op (     38x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     38x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     38x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
1.00/op (     38x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
1.00/op (     38x) org.infinispan.container.entries.ReadCommittedEntry
1.00/op (     38x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     38x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (     38x) org.infinispan.transaction.xa.TransactionXaAdapter
1.00/op (     38x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
1.00/op (     38x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
1.00/op (     38x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
{code}

5 writes in transaction:
{code}
16.00/op (    208x) org.infinispan.commons.hash.MurmurHash3$State
16.00/op (    208x) sun.nio.cs.UTF_8$Encoder
10.00/op (    130x) java.util.HashMap$Entry
10.00/op (    130x) java.util.Hashtable
8.46/op (    110x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
7.00/op (     91x) org.infinispan.context.impl.LocalTxInvocationContext
6.00/op (     78x) com.arjuna.ats.arjuna.common.Uid
6.00/op (     78x) java.util.HashMap
5.31/op (     69x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
5.00/op (     65x) org.infinispan.commands.write.PutKeyValueCommand
5.00/op (     65x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
5.00/op (     65x) org.infinispan.container.entries.ReadCommittedEntry
5.00/op (     65x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
5.00/op (     65x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
5.00/op (     65x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
4.15/op (     54x) java.util.concurrent.ConcurrentHashMap$HashEntry
4.00/op (     52x) com.arjuna.ats.internal.arjuna.common.BasicMutex
3.08/op (     40x) java.lang.String
3.00/op (     39x) com.arjuna.ats.arjuna.coordinator.RecordList
2.46/op (     32x) java.util.concurrent.ConcurrentHashMap$Segment
2.46/op (     32x) java.util.concurrent.locks.ReentrantLock$NonfairSync
2.08/op (     27x) java.lang.StringBuilder
2.00/op (     26x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (     26x) java.io.ByteArrayOutputStream
2.00/op (     26x) java.io.DataOutputStream
2.00/op (     26x) java.util.ArrayList
2.00/op (     26x) java.util.Hashtable$Entry
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (     13x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (     13x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (     13x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (     13x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (     13x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (     13x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (     13x) com.arjuna.ats.jta.xa.XidImple
1.00/op (     13x) java.util.AbstractList$Itr
1.00/op (     13x) java.util.Collections$SynchronizedMap
1.00/op (     13x) java.util.HashMap$EntryIterator
1.00/op (     13x) java.util.HashMap$EntrySet
1.00/op (     13x) java.util.HashMap$KeyIterator
1.00/op (     13x) java.util.HashMap$KeySet
1.00/op (     13x) java.util.HashSet
1.00/op (     13x) java.util.Stack
1.00/op (     13x) org.infinispan.commands.tx.CommitCommand
1.00/op (     13x) org.infinispan.commands.tx.PrepareCommand
1.00/op (     13x) org.infinispan.commons.collections.MiniSet
1.00/op (     13x) org.infinispan.commons.collections.MiniSet$ArrayIterator
1.00/op (     13x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (     13x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (     13x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (     13x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (     13x) org.infinispan.transaction.xa.TransactionXaAdapter
{code}

20 writes in transaction:
{code}
124.00/op (    372x) org.infinispan.commons.hash.MurmurHash3$State
124.00/op (    372x) sun.nio.cs.UTF_8$Encoder
80.00/op (    240x) java.util.HashMap$Entry
31.00/op (     93x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$Node
25.33/op (     76x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ReservationNode
22.00/op (     66x) org.infinispan.context.impl.LocalTxInvocationContext
20.00/op (     60x) org.infinispan.commands.write.PutKeyValueCommand
20.00/op (     60x) org.infinispan.container.DefaultDataContainer$EquivalentConcurrentExtendedMap$3
20.00/op (     60x) org.infinispan.container.entries.ReadCommittedEntry
20.00/op (     60x) org.infinispan.util.concurrent.locks.OwnableRefCountingReentrantLock
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$2
20.00/op (     60x) org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer$Locker
16.00/op (     48x) java.util.concurrent.ConcurrentHashMap$HashEntry
11.33/op (     34x) java.lang.String
10.00/op (     30x) java.util.HashMap
10.00/op (     30x) java.util.Hashtable
6.67/op (     20x) org.infinispan.container.entries.ImmortalCacheEntry
6.00/op (     18x) com.arjuna.ats.arjuna.common.Uid
4.00/op (     12x) com.arjuna.ats.internal.arjuna.common.BasicMutex
4.00/op (     12x) java.util.concurrent.ConcurrentHashMap$Segment
4.00/op (     12x) java.util.concurrent.locks.ReentrantLock$NonfairSync
3.00/op (      9x) com.arjuna.ats.arjuna.coordinator.RecordList
2.67/op (      8x) java.lang.StringBuilder
2.00/op (      6x) com.arjuna.ats.internal.jta.xa.TxInfo
2.00/op (      6x) java.io.ByteArrayOutputStream
2.00/op (      6x) java.io.DataOutputStream
2.00/op (      6x) java.util.ArrayList
2.00/op (      6x) java.util.HashMap$KeyIterator
2.00/op (      6x) java.util.HashMap$KeySet
2.00/op (      6x) java.util.Hashtable$Entry
1.33/op (      4x) java.util.HashMap$EntryIterator
1.33/op (      4x) java.util.HashMap$EntrySet
1.33/op (      4x) org.infinispan.commons.util.concurrent.jdk8backported.EquivalentConcurrentHashMapV8$ForwardingNode
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionHierarchy
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionInfo
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.ActionManager$Lifetime
1.00/op (      3x) com.arjuna.ats.arjuna.coordinator.CheckedAction
1.00/op (      3x) com.arjuna.ats.internal.arjuna.coordinator.ReaperElement
1.00/op (      3x) com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction
1.00/op (      3x) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple
1.00/op (      3x) com.arjuna.ats.internal.jta.xa.XID
1.00/op (      3x) com.arjuna.ats.jta.xa.XidImple
1.00/op (      3x) java.util.AbstractList$Itr
1.00/op (      3x) java.util.Collections$SynchronizedMap
1.00/op (      3x) java.util.HashSet
1.00/op (      3x) java.util.Stack
1.00/op (      3x) java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
1.00/op (      3x) org.infinispan.commands.tx.CommitCommand
1.00/op (      3x) org.infinispan.commands.tx.PrepareCommand
1.00/op (      3x) org.infinispan.commons.collections.MiniSet
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniList
1.00/op (      3x) org.infinispan.commons.collections.SynchronizedMiniSet
1.00/op (      3x) org.infinispan.transaction.xa.GlobalTransaction
1.00/op (      3x) org.infinispan.transaction.xa.LocalXaTransaction
1.00/op (      3x) org.infinispan.transaction.xa.TransactionXaAdapter
{code}



> Reduce number of allocations
> ----------------------------
>
>                 Key: ISPN-5329
>                 URL: https://issues.jboss.org/browse/ISPN-5329
>             Project: Infinispan
>          Issue Type: Enhancement
>          Components: Core
>    Affects Versions: 7.2.0.Beta1
>            Reporter: Radim Vansa
>            Assignee: Radim Vansa
>
> Common cache operations generate a lot of temporary objects, which increases GC pressure. Let's try to analyze & reduce this.



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the infinispan-issues mailing list