disrustor

Crates.iodisrustor
lib.rsdisrustor
version0.4.0
sourcesrc
created_at2019-07-30 23:42:33.204221
updated_at2023-06-05 22:16:00.97864
descriptionThis project is a port of the LMAX Disruptor to Rust
homepage
repositoryhttps://github.com/sklose/disrustor
max_upload_size
id153100
size88,413
Sebastian Klose (sklose)

documentation

README

CI crates.io codecov

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

Commit count: 60

cargo fmt