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 <[email protected]>
JBoss Performance Team

_______________________________________________
infinispan-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to