- 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.
spmcversion
EventQueue::subscribe->EventReader::new
- Improved read performance on long runs.
EventReader::iternow 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_bufferingfeature.
- Initial working implementation with fix-size chunks.