Re: Entwined STM V1.0

2013-08-21 Thread Ivan Koblik
I have done the benchmarks and optimized the implementation. On my PC with the new changes TransactionalMap is up to 5 times slower than ConcurrentHashMap. You can find the benchmarks here:

Entwined STM V1.0

2013-08-18 Thread Ivan Koblik
Hi All, Almost 4 years ago I developed STM with semantic concurrency control for my project at CERN. Main feature of this STM is the TransactionalMap that lets you merge concurrent changes. Library is heavily tested and is very stable. It has been used in production for the past 2 years.

Re: Entwined STM V1.0

2013-08-18 Thread Hussein B.
Great ! Congratulations! How it does compare with Clojure's builtin STM? Thanks. On Sunday, August 18, 2013 10:24:48 AM UTC+2, Ivan Koblik wrote: Hi All, Almost 4 years ago I developed STM with semantic concurrency control for my project at CERN. Main feature of this STM is the

Re: Entwined STM V1.0

2013-08-18 Thread dennis zhuang
That's really cool. Do you have any performance benchmark between TransactionalMap and java.util.concurrent.ConcurrentHashMap? When should i use these collections instead of java.util.concurrent.* collections? 2013/8/18 Ivan Koblik ivankob...@gmail.com Hi All, Almost 4 years ago I

Re: Entwined STM V1.0

2013-08-18 Thread Ivan Koblik
Thank you! Great question. I couldn't devise a way to merge concurrent changes in a HashMap using Clojure's STM. A while ago I discussed it with Christophe Grand and he had his own idea about how to fix it: [1] and [2]. IIRC Christophe's solution may see a conflict even if there's no real

Re: Entwined STM V1.0

2013-08-18 Thread Ivan Koblik
I'll come back to you with the benchmarks, so far I haven't done any. I have an impression that ConcurrentHashMap will outperform TransactionalMap in most cases, but there may be cases when different keys end up in the same bucket in the ConcurrentHashMap and that is where TransactionalMap may