Skip to content

Releases: GavinClarke0/lockless-generic-ring-buffer

v0.1.2

22 Apr 15:42
50666d9
Compare
Choose a tag to compare

Release Changes

=> Changed reader, writer index logic to now mean that the value of the index is the last value read/written to.
=> Removed locks and simplified consumer add operations. This now better suits one of the original intended use cases of being able to remove/add consumers rapidly when using the buffer in a broadcast pattern.
=> Changed loop operations on readers to now yield on first indication write is not currently possible. Replace loop and if statements with goto to retry write on failure reducing branching on successful and yielding write operations. This was found to improve speed significantly in concurrent environments.
=> Refactor buffer itself to use consistent naming for reader value
=> make tests use same implementation to ensure read/write order is consistent
=> Update readme with new benchmarks

Simplified Consumer

31 Mar 16:20
a629577
Compare
Choose a tag to compare

Remove mutex from add/remove consumer and replace with simplified logic only using atomic operations.

v0.1.0

31 Mar 15:45
955241b
Compare
Choose a tag to compare
Merge pull request #19 from GavinClarke0/dev

fix name of package

v.0.0.3: Merge pull request #19 from GavinClarke0/dev

29 Jan 16:59
955241b
Compare
Choose a tag to compare
  • Performance improves due to move to int array from pointer array for consumer buffer position increasing cache hits.
  • fix path names

v.0.0.2: Merge pull request #14 from GavinClarke0/dev

25 Jan 00:08
2562b1b
Compare
Choose a tag to compare
Simplify Consumer Logic, Add more tests for removing consumers, fix race conditions

v0.0.1: Merge pull request #6 from GavinClarke0/rename-package

20 Jan 20:10
4bb225f
Compare
Choose a tag to compare

Initial release. Limited features and incomplete test coverage.