Re: [infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Galder Zamarreno
As Sanne suggested in another email, the minimum you'd need for a local non-JTA (e.g. only JDBC transactions) 2LC is the data container and the eviction part, e.g. LIRs. You could try to work something around those and see how far you get. Once you have JTA or clustering, you'd need more

Re: [infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Emmanuel Bernard
I am no expect at all of the code base. Wouldn't returning LocalCacheImpl happening in very very specific cases and thus not be of quite limited use? And that resonates with the discussion of splitting the interceptor logic into before and after methods. And keeping the state not in the

[infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Radim Vansa
Hi, few weeks ago I was looking into performance of local cache when compared to basic concurrent hash map, or data container. I can't find the exact results now, but the difference was in order of magnitude - IIRC concurrent hash map was about 20x faster than local cache. There was no

Re: [infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Emmanuel Bernard
BTW, a generic interface based call to interceptors is hard to optimize by the VM AFAIU. So having a few specialized implementations of CacheImpl that do hard code the calls to specific interceptor implementations (the 2 methods split ones) would make a lot of sense to me for a handful of

Re: [infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Sanne Grinovero
+1 I'd love to see an evolution like that, I guess there should be various use cases which benefit from having no interceptor stack at all. As I see it, implementing the same Cache API as Infinispan would be nice but not necessary, assuming you don't need all of the same features. Mildly

Re: [infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Emmanuel Bernard
Pushing the idea further, you can actually make the CacheImpl specifically tailored to the configuration of a given cache by using ASM or anything that lets you build a class at runtime. That way, in this specialized implementation, all the interceptorImpl.before() and interceptorImpl.after()

Re: [infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Radim Vansa
@ 'very very specific cases': yes, given the plethora of options Infinispan gives you, it is specific. However that does not say that these use cases are not the most common. I don't think this has really too much common with the interceptor stack rework discussion - there the move is from

Re: [infinispan-dev] Interceptor stack for local caches

2015-06-22 Thread Emmanuel Bernard
Ah. Tristan told me these plans are already in motion in stages. On 22 juin 2015, at 08:09, Emmanuel Bernard emman...@hibernate.org wrote: Pushing the idea further, you can actually make the CacheImpl specifically tailored to the configuration of a given cache by using ASM or anything that