LMAXCollections icon indicating copy to clipboard operation
LMAXCollections copied to clipboard

LMAX Collections

LMAX Collections

A High Performance Collections Library

Maintainer

Coalescing Ring Buffer: [Nick Zeeb] (https://github.com/nickzeeb)

What is it?

Please see http://nickzeeb.wordpress.com/2013/03/07/the-coalescing-ring-buffer/ for an introduction

Ports:

  • .Net https://github.com/ncornwell/NCoalescingRingBuffer
  • Python https://github.com/jstasiak/coalringbuf

Changelog

1.0.0 Released (7-Mar-2013)

  • Initial release containing the Coalescing Ring Buffer

1.1.0 Released (16-Jun-2013)

  • Coalescing Ring Buffer improvements:
    • 4% performance improvement by using lazy sets where possible
    • constructor now rounds up capacity to the nearest higher power of two instead of throwing an exception
    • nextRead index has been renamed firstWrite for clarity

1.1.3 Released (7-Nov-2014)

  • Coalescing Ring Buffer improvements:
    • improve size method to return a consistent result when reading two volatiles
    • see http://psy-lob-saw.blogspot.co.uk/2014/07/concurrent-bugs-size-matters.html for details
    • thanks to Stanimir Simeonoff, Nitsan Wakart and Martin Thompson!

1.1.4 Released (5-Jul-2017)

  • Coalescing Ring Buffer improvements:
    • Null out entries in the ring buffer once consumed