fibre is a workspace of high-performance, concurrent building blocks for Rust, designed to enable the development of best in class low-latency, low-overhead applications.
- Performance-Oriented Design: The libraries are designed from the ground up for speed and low overhead, using techniques like lock-free data structures and per-shard locking.
- Seamless Sync/Async Integration: First-class support for both synchronous (
std::thread) and asynchronous (async/await) Rust allows components to be integrated into any application architecture. - Specialized, Not Generalized: The project's philosophy is that the best performance comes from using the right tool for the job. We provide specialized implementations for specific concurrency patterns.
- Ergonomic and Safe API: While performance is critical, the APIs are designed to be consistent, predictable, and safe, leveraging Rust's type system to prevent common concurrency errors.
fibre: A library of specialized, high-performance, and memory-efficient sync/async channels (spsc,mpsc,spmc,mpmc).fibre_cache: A comprehensive, flexible, and high-performance concurrent caching library with modern eviction policies.fibre_ioc: A flexible, thread-safe, and dynamic Inversion of Control (IoC) container with support for optional dependencies and a single-threaded, non-Send/Syncvariant.
Detailed documentation and usage guides can be found within each crate's directory:
fibre(Channels): Usage Guide | API Reference (docs.rs)fibre_cache(Cache): Usage Guide | API Reference (docs.rs)fibre_ioc(IoC Container): Usage Guide | API Reference (docs.rs)
This project is distributed under the terms of the Mozilla Public License Version 2.0 (MPL-2.0). See LICENSE for details.