lowlet 0.1.1

Low-latency IPC library using shared memory and lock-free structures
Documentation
  • Coverage
  • 72.22%
    52 out of 72 items documented7 out of 41 items with examples
  • Size
  • Source code size: 99.73 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 7.28 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 15s 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 (x86_64)
  • TTAS spinlock with pause instruction
  • Process synchronization barrier
  • Batch send/receive operations
  • Timeout-based operations
  • Channel statistics and metrics

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);
}

New in 0.1.1

  • Batch Operations: Send/receive multiple items at once
  • Timeout Support: Timeout-based send/recv operations
  • Metrics: Built-in channel statistics tracking
  • Improved Tests: 19+ comprehensive tests
  • CI/CD: Automated testing on GitHub and Codeberg

Documentation

Performance

  • ~61 cycles per send/recv operation
  • ~20ns latency at 3GHz
  • Zero-copy message passing
  • Lock-free algorithms

License

MIT OR Apache-2.0