Overview
Multiverse is a Java based
Software Transactional Memory (STM)
implementation that wants to realize the following goals:
-
Language independent: so it can be used without relying on instrumentation and therefore can
easily be used with other languages that can run on the JVM like like Scala, Groovy or JRuby.
-
Framework: for different STM implementation. This makes it easy to experiment with new features
or build a customized STM implementation.
For a more complete list check the
mission statement.
News
-
1 May 2011: release of Multiverse 0.7. A complete redesign
where the central clock is removed so better scalable, a lot of performance improvements, support for
commute, ensure/privatize, atomic operations on references, isolation levels and pessimistic lock mode levels.
-
1 September 2010: release of Multiverse 0.6 a lot of minor improvements
(performance & instrumentation) and support for propagation levels.
-
2 May 2010: release of Multiverse 0.5. Support for compiletime
instrumentation (Multiverse jar is pre-instrumented), new integration api to make integration in non
Java languages easier. TransactionalArrayList/TransactionalReferenceArray, a lot of performance and
scalability improvements, timed blocking calls and a lot of other small improvements.
-
24 February 2010: release of Multiverse 0.4. Support for
optional read tracking, writeskew prevention, deferred and compensating tasks, 2 phase commit,
improved instrumentation and performance and lots of other goodies.
-
10 January 2010: moved from googlecode to
Codehaus. They provide a lot of Java licenses like my favorite
IDE IntelliJ IDEA and everything else you need like Git, Clover
and Bamboo.
-
1 December 2009: Open Source license for Atlassian Clover. Although Cobertura does its job, it
isn't as advanced as Clover.
-
19 December 2009: release of Multiverse 0.3.
-
1 November 2009: Open source licence for JProfiler 6. Great
performance tuning tool while developing.