2 unstable releases
0.4.0 | Jun 5, 2023 |
---|---|
0.3.0 | Feb 21, 2022 |
0.2.0 |
|
0.1.0 |
|
#570 in Concurrency
21 downloads per month
38KB
1K
SLoC
Disrustor
This project is a port of the LMAX Disruptor to Rust.
Features
- Single Producer
- Batch Consumer
- Blocking Wait Strategy
- Spinning Wait Strategy
- Multi Producer
- Worker Pools
- DSL
- Documentation
Benchmarks
Preliminary benchmark results for sending i32-sized messages from a producer to a consumer.
Name | Batch Size | Throughput |
---|---|---|
mpsc channel | 11 | 34.894 Melem/s |
disrustor spinning | 1 | 38.260 Melem/s |
disrustor spinning | 10 | 941.39 Melem/s |
disrustor spinning | 50 | 940.77 Melem/s |
disrustor spinning | 100 | 942.68 Melem/s |
disrustor spinning | 1000 | 942.02 Melem/s |
disrustor spinning | 2000 | 940.75 Melem/s |
disrustor spinning | 4000 | 938.44 Melem/s |
disrustor blocking | 1 | 7.0191 Melem/s |
disrustor blocking | 10 | 85.386 Melem/s |
disrustor blocking | 50 | 997.89 Melem/s |
disrustor blocking | 100 | 998.97 Melem/s |
disrustor blocking | 1000 | 1.0032 Gelem/s |
disrustor blocking | 2000 | 999.67 Melem/s |
disrustor blocking | 4000 | 999.15 Melem/s |
1: mpsc channels do not support batching
Related Work
Dependencies
~87KB