July 13th, 2024

Disruptor-rs: better latency and throughput than crossbeam

The GitHub repository for the "Disruptor" library in Rust provides low latency inter-thread communication. It offers guidance, code snippets, design decisions, performance evaluations, related projects, contributions, and future plans. Valuable for developers.

Read original articleLink Icon
Disruptor-rs: better latency and throughput than crossbeam

The GitHub repository for the "Disruptor" library offers a low latency, inter-thread communication solution in Rust. It includes comprehensive guidance on utilizing the library, featuring code snippets, functionalities, design decisions, performance evaluations, related projects, contributions, and future plans. This resource serves as a valuable source for developers interested in leveraging the Disruptor library for efficient inter-thread communication in Rust.

Related

Download Accelerator – Async Rust Edition

Download Accelerator – Async Rust Edition

This post explores creating a download accelerator with async Rust, emphasizing its advantages over traditional methods. It demonstrates improved file uploads to Amazon S3 and provides code for parallel downloads.

Improving 64-bit RISC-V Linux support in Rust

Improving 64-bit RISC-V Linux support in Rust

Ferrous Systems and Codethink collaborate to boost 64-bit RISC-V Linux support in Rust to Tier 1 via the RISE Project. This effort aims to enhance Rust's functionality for diverse platforms, focusing on RISC-V's open instruction set architecture.

Sans-IO: The secret to effective Rust for network services

Sans-IO: The secret to effective Rust for network services

Firezone utilizes connlib, a Rust library for managing network connections and WireGuard tunnels sans-IO. This approach enhances testing, customization, and functionality assurance, promoting efficient and flexible network services development.

Properly Testing Concurrent Data Structures

Properly Testing Concurrent Data Structures

The article explores testing concurrent data structures using the Rust library loom. It demonstrates creating property tests with managed threads to simulate concurrent behavior, emphasizing synchronization challenges and design considerations.

C++ patterns for low-latency applications including high-frequency trading

C++ patterns for low-latency applications including high-frequency trading

Research paper explores C++ Design Patterns for low-latency applications, focusing on high-frequency trading. Introduces Low-Latency Programming Repository, optimizes trading strategy, and implements Disruptor pattern for performance gains. Aimed at enhancing latency-sensitive applications.

Link Icon 7 comments
By @karmakaze - 5 months
I played around with the original (Java) LMAX disruptor which was an interesting and different way to achieve latency/throughput. Didn't find a whitepaper--here's some references[0] which includes a Martin Fowler post[1].

[0] https://github.com/LMAX-Exchange/disruptor/wiki/Blogs-And-Ar...

[1] https://martinfowler.com/articles/lmax.html

By @bluejekyll - 5 months
This is really cool to see. Is anyone potentially working on an integration with this an Tokio to bring these performance benefits to the async ecosystem? Or maybe I should ask first, would it make sense to look at this as a foundational library for the multi-thread async frameworks in Rust?
By @alchemist1e9 - 5 months
Is there anything specific to Rust that this library does which modern C++ can’t match in performance? I’d be very interested to understand if there is.
By @LtdJorge - 5 months
So nice, that I was just reading about the disruptor, since I had an idea of using ring buffers with atomic operations to back Rust channels with lower latency for intra-thread communication without locks, and now I see this. Gonna take a read!
By @BrokrnAlgorithm - 5 months
Is there also a decent c++ implementation of the disruptor out there?