Sunday, 13 May 2012

Disruptor 2.10 Release

The Disruptor version 2.10 has been released. It is available from the Google Code download page and has been submitted to Maven central.

Changes

  • Remove deprecated timeout methods.
  • Added OSGI metadata to jar file.
  • Removed PaddedAtomicLong and use Sequence in all places.
  • Fix various generics warnings.
  • Change Sequence implementation to work around IBM JDK bug and improve performance by ~10%.
  • Add a remainingCapacity() call to the Sequencer class.

5 comments:

John said...

Why was PaddedAtomicLong removed?

John said...

Just found this as a possible answer to why PaddedAtomicLong was removed:

http://mechanical-sympathy.blogspot.co.uk/2011/08/false-sharing-java-7.html

It seems that Java 7 behaves differently to previous versions so Padding does not work like it used to.

The point of the padding is to prevent more than one thread sharing the same cache line and in so doing remove contention.

Michael Barker said...

Sequence and PaddedAtomicLong have the same role (cache friendly atomic counter), so it was a refactoring toward a common implementation.

Nikos Maravitsas said...

Hi Michael ,

Great Blog! Is there an email address I can contact you in private?

Michael Barker said...

mikeb01 ot gmail dat com