1 unstable release

0.1.0 Apr 14, 2024

#803 in Asynchronous

Download history 102/week @ 2024-04-09 31/week @ 2024-04-16 1/week @ 2024-04-23

134 downloads per month

MIT license

8KB
176 lines

Shared Future implementations, like channels, often store lists of core::task::Waker. This crate provides an efficient [WakerList] that avoids memory allocation under conditions where wakers are frequently stored and woken.

Nodes are stored in a thread-local object pool and backed by a global, lock-free pool.

NOTE: For efficiency and simplicity, this crate never deallocates nodes. If you expect to potentially store unbounded sets of Wakers, use a std::vec::Vec.

No runtime deps