All Projects → sklose → disrustor

sklose / disrustor

Licence: MIT License
A port of the LMAX Disruptor to Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to disrustor

MoviesApp
A Movie Application uses TheMovie API, MVVM architecture and all jetpack components.
Stars: ✭ 100 (+244.83%)
Mutual labels:  threading
SwiftConcurrentCollections
Swift Concurrent Collections
Stars: ✭ 40 (+37.93%)
Mutual labels:  threading
soabase-stages
A tiny library that makes staged/pipelined CompletableFutures much easier to create and manage
Stars: ✭ 23 (-20.69%)
Mutual labels:  threading
think-async
🌿 Exploring cooperative concurrency primitives in Python
Stars: ✭ 178 (+513.79%)
Mutual labels:  threading
concurrent-resource
A header-only C++ library that allows easily creating thread-safe, concurrency friendly resources.
Stars: ✭ 17 (-41.38%)
Mutual labels:  threading
Xiecheng Comment
🌈Xiecheng_Comment多线程Threading爬取携程的丽江古城景点评论并生成词云
Stars: ✭ 23 (-20.69%)
Mutual labels:  threading
People-Counting-in-Real-Time
People Counting in Real-Time with an IP camera.
Stars: ✭ 233 (+703.45%)
Mutual labels:  threading
psched
Priority-based Task Scheduling for Modern C++
Stars: ✭ 59 (+103.45%)
Mutual labels:  threading
ObviousAwait
🧵 Expressive aliases to ConfigureAwait(true) and ConfigureAwait(false)
Stars: ✭ 55 (+89.66%)
Mutual labels:  threading
humanbenchmark
Memory tests solver with using OpenCV
Stars: ✭ 20 (-31.03%)
Mutual labels:  threading
disruptor-billing-example
Example LMAX Disruptor spring-boot project that uses disruptor-spring-manager framework
Stars: ✭ 56 (+93.1%)
Mutual labels:  disruptor
Perfect-Thread
Core threading library for Perfect Server Side Swift. Includes support for serial and concurrent thread queues, locks, read/write locks and events.
Stars: ✭ 17 (-41.38%)
Mutual labels:  threading
The-Java-Workshop
A New, Interactive Approach to Learning Java
Stars: ✭ 65 (+124.14%)
Mutual labels:  threading
ThreadBoat
Program Uses Thread Execution Hijacking To Inject Native Shell-code Into a Standard Win32 Application
Stars: ✭ 162 (+458.62%)
Mutual labels:  threading
wasm-mt
A multithreading library for Rust and WebAssembly
Stars: ✭ 121 (+317.24%)
Mutual labels:  threading
thread-pool
A modern thread pool implementation based on C++20
Stars: ✭ 104 (+258.62%)
Mutual labels:  threading
android-actors-library
Android Actors Library was inspired by the Actor model. The main purpose of this library is to help developers in creating a worker attached to a thread and make all interactions with this worker natural and simple.
Stars: ✭ 24 (-17.24%)
Mutual labels:  threading
dannyAVgleDownloader
知名網站avgle下載器
Stars: ✭ 27 (-6.9%)
Mutual labels:  threading
polog
Логирование должно быть красивым
Stars: ✭ 26 (-10.34%)
Mutual labels:  threading
Stitch
Simple threading library using annotations for Android
Stars: ✭ 28 (-3.45%)
Mutual labels:  threading

CI crates.io

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].