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:
https://github.com/CERN-BE/Entwined-STM/blob/master/src/test/java/cern/entwined/demo/clojure_benchmarks.cl
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
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 confl
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
> Hi All,
>
> Almost 4 years ago I developed STM with semant
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 Transa
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.
Recently