- clear/truncate_front now dispose chunks not occupied by readers immediately! Which, at least partially, solves "emergency cleanup" problem. Now you don't have to have access to all readers!
- Subscribe/unsubscribe now O(1).
- EventQueue::total_capacity now O(1).
- miri support
- Using spin mutex everywhere. Write performance improved x2 in non-heavy concurrent cases.
spmc
version
EventQueue::subscribe
->EventReader::new
- Improved read performance on long runs.
EventReader::iter
now returnLendingIterator
. This prevent references from outlive iterator. Since chunk with items, pointed by references returned by iterator, may die after iterator drop, it is not safe to keep them outside iterator.
- AUTO_CLEANUP -> CLEANUP{ ON_CHUNK_READ / ON_NEW_CHUNK / NEVER }
- Chunks now have dynamic size. Chunks grow in size, in order to find optimal chunk size. In ideal, we will work with just 2 same-sized chunks.
double_buffering
feature.
- Initial working implementation with fix-size chunks.