| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 3.0.0 source code.tar.gz | 2026-02-23 | 795.8 kB | |
| 3.0.0 source code.zip | 2026-02-23 | 800.7 kB | |
| README.md | 2026-02-23 | 1.3 kB | |
| Totals: 3 Items | 1.6 MB | 0 | |
- Breaking:
PopOptional()has been renamed toPop()as an overload for the Queues - Breaking: mpmc::Queue now enforces a power-of-2
size. This is necessary to prevent deadlocks on index overflows. - Fixed an incorrect
our_turncheck in mpmc::Queue that caused incorrect behavior when monotonic push/pop counters wrapped around - Fixed the push/pop count comparison condition in mpmc::Queue
- Replaced the two per-slot atomics (
push_count/pop_count) in mpmc::Queue with a singleaccess_count, reducing memory usage and contention per slot - Added cacheline alignment for mpmc::Queue slots when
LOCKFREE_CACHE_COHERENTis enabled, eliminating false sharing between adjacent slots - Moved
_write_wrappedand_read_wrappedflags in spsc::BipartiteBuf to share cachelines with their respective producer/consumer indexes, reducing cache contention - Fixed spsc::RingBuf
std::arrayoverloads to use.data()instead of.begin(), returning a proper pointer rather than an iterator - Ensured PriorityQueues must have at least 2 priorities