llt-rs

Crates.iollt-rs
lib.rsllt-rs
version0.6.0
created_at2025-11-16 17:38:32.208426+00
updated_at2025-11-25 17:11:59.11203+00
descriptionLow-Latency Primitives Toolkit for Rust
homepagehttps://github.com/aodr3w/llt-rs
repositoryhttps://github.com/aodr3w/llt-rs
max_upload_size
id1935765
size57,668
Andrew Odiit (aodr3w)

documentation

README

llt-rs

low latency tools - rust


Low-Latency Toolkit Primitives

This toolkit provides core primitives designed for building high-performance, low-latency applications, specifically targeting Single-Producer Single-Consumer (SPSC) architectures like Limit Order Books.

1. Lock-Free and Wait-Free Data Structures

[x] Atomic Ring Buffer (SPSC): A raw, wait-free, fixed-size ring buffer for single-producer, single-consumer scenarios. Optimized with cache-line padding and Acquire/Release semantics. (v0.1.0)

2. High-Performance Channels

[x] SPSC Channel: A hybrid channel wrapper around the Atomic Ring Buffer. Combines nanosecond-scale lock-free latency with the CPU efficiency of Condvar blocking during idle periods. (v0.2.0)


3. Thread Management

[x] CPU Affinity-Aware Thread Pool: Utilities to enumerate cores and pin threads to specific CPU cores. Critical for isolating the "hot path" (Matching Engine) from OS scheduler jitter


4. Memory Management

[x] Object Pool: A thread-safe system for recycling fixed-size objects (e.g., Orders) to avoid the non-deterministic latency of the global allocator. (v0.3.0)

[x] Arena Allocator: A batch-reset bump allocator for short-lived events (e.g., Market Data updates). Allows zero-cost allocation/deallocation cycles per tick. (v0.4.0)


5. Utilities & Diagnostics

[x] Non-Blocking Logger: A high-performance logging facility that offloads I/O to a pinned background thread via an SPSC channel, ensuring the critical path never blocks on disk or console. (v0.6.0)

Commit count: 0

cargo fmt