nim-works / loony

A high throughput MPMC lock-free queue based on a paper by Giersch, Nolte et al implemented in pure Nim.
https://nim-works.github.io/loony/
MIT License
65 stars 4 forks source link

Compiler option to padd loony objects to cache lines #24

Closed shayanhabibi closed 4 weeks ago

shayanhabibi commented 2 years ago

Added loonyPadding compiler option which would just padd each loony field onto a cache line of its own. In my benchmarks I couldn't really see a difference, will need to investigate more deeply with better tools.

Also changed the convenience procs back to templates using mixins to prevent previous issues with users having to import atomics.

shayanhabibi commented 4 weeks ago

Incorporated into #37