waitx 0.2.3

Blazingly fast and lightweight signaling primitive.
Documentation

waitx — Synchronous Ultra-Low-Latency Signaling

waitx provides a high-performance, low-latency, empty-channel signaling primitive.

Example

fn main() {
    let (tx, rx) = waitx::unit_channel();

    // Receiver thread
    let handle = std::thread::spawn(move || {
        rx.update_thread(); // must be called once per receiving thread

        loop {
            rx.recv();
            println!("Received at {:?}", std::time::Instant::now());
        }
    });

    // Sender loop
    loop {
        thread::sleep(std::time::Duration::from_millis(10));
        tx.send();
    }

    let _ = handle.join();
}

Benchmarks

Very basic benchmarking was performed locally on a 12th Gen Intel(R) Core(TM) i7-12700K.

Violin Plot

View the full benchmark report comparing other popular crates here.