lowlet 0.1.0

Low-latency IPC library using shared memory and lock-free structures
Documentation
  • Coverage
  • 100%
    52 out of 52 items documented7 out of 26 items with examples
  • Size
  • Source code size: 88.25 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 6.61 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 16s Average build duration of successful builds.
  • all releases: 16s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • sun4ll

lowlet

Low-latency inter-process communication library for Rust.

Features

  • Shared memory regions with automatic cleanup
  • Lock-free SPSC queue and MPMC ring buffer
  • Inline assembly memory fences and atomics
  • TTAS spinlock with pause instruction
  • Process synchronization barrier

Installation

[dependencies]
lowlet = "0.1"

Quick Start

use lowlet::channel;

fn main() {
    let (tx, rx) = channel::<u64, 1024>();
    
    tx.send(42).unwrap();
    let value = rx.recv().unwrap();
    
    assert_eq!(value, 42);
}

Documentation

Performance

  • ~61 cycles per send/recv operation
  • ~20ns latency at 3GHz

License

MIT OR Apache-2.0