No thoughts at all? @wburns, could I have your view on this?
Thanks
Radim
On 11/23/2015 04:26 PM, Radim Vansa wrote:
Hi again,
examining some flamegraphs I've found out that recently the
ExpirationInterceptor has been added, which registers ongoing write in a
hashmap. So at this point we have a map for locks, map for writes used
for expiration, another two key-addressed maps in L1ManagerImpl and one
in L1NonTxInterceptor and maybe another maps elsewhere.
This makes me think that we could spare map lookups and expensive writes
by providing *single map for temporary per-key data*. A reference to the
entry could be stored in the context to save the lookups. An extreme
case would be to put this into DataContainer, but I think that this
would prove too tricky in practice.
A downside would be the loss of encapsulation (any component could
theoretically access e.g. locks), but I don't find that too dramatic.
WDYT?
Radim
--
Radim Vansa <rvansa(a)redhat.com>
JBoss Performance Team