Rust Concurrency

Open-source Rust projects categorized as Concurrency

Top 23 Rust Concurrency Projects

  • yew

    Rust / Wasm framework for building client web apps

    Project mention: Blazor United - When it ships it would be the most glorious way to do web with .NET | reddit.com/r/programming | 2023-01-25

    Aside from Blazor there's already some other projects like Yew (rust), seed (rust), asm-dom (C++) and vugu (Go) and more that have decent followings and activity. A lot more (especially managed languages) are waiting for some features to come online like wasm GC and host bindings (direct wasm access to browser apis which includes the DOM). It'll take a bit of time, but it'll get there eventually.

  • rayon

    Rayon: A data parallelism library for Rust

    Project mention: Python's “Disappointing” Superpowers | news.ycombinator.com | 2023-02-01

    If you don't know Rust, but know Python, you can install Python libraries written in Rust with pip. Like, pip install polars or pip install robyn. In this case you follow the two bottom links. But then you don't write your own libraries and stuff so.. I guess that's not what you want.

    But, if you want to learn Rust, you probably wouldn't start out with pyo3. You first install Rust with https://rustup.rs/ and then check out the official book, and the book rust by example, that you can find here https://www.rust-lang.org/learn - and maybe write some code on the Rust playground https://play.rust-lang.org/ - then, you use pyo3 to build Python libraries in Rust, and then use maturin https://www.maturin.rs/ to build and publish them to Pypi.

    But if you still prefer to begin with Rust by writing Python libraries (it's a valid strategy if you are very comfortable with working with multiple stacks), the Maturin link has a tutorial that setups a program that is half written in python, half written in Rust, https://www.maturin.rs/tutorial.html (well the pyo3 link I sent also has one too. You should refer to the documentation of both, because you will use the two together)

    After learning Rust, the next step is looking for libraries that you could leverage to make Python programs ultra fast. Here https://github.com/rayon-rs/rayon is an obvious choice, see some examples from the Rust cookbook https://rust-lang-nursery.github.io/rust-cookbook/concurrenc... - when you create a parallel iterator, it will distribute the processing to many threads (by default, one per core). The rust cookbook, by the way, is a nice reference to see the most used crates (Rust libraries) in the Rust ecosystem.

    Anyway there are some posts about pyo3 on the web, like this blog post https://boring-guy.sh/posts/river-rust/ (note: it uses an outdated version of pyo3, and doesn't seem to use maturin which is a newer tool). This post was written by the developers of https://github.com/online-ml/river - another Python library written in Rust

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • actix

    Actor framework for Rust.

    Project mention: An Open Source Rust SNMP Simulator | dev.to | 2023-01-10

    Actix is an actor framework for developing concurrent applications built on top of the Tokio asynchronous runtime. It allows multiple actors to run on a single thread, but also allows actors to run on multiple threads via Arbiters. Actors can communicate with each other by sequentially exchanging typed messages.

  • crossbeam

    Tools for concurrent programming in Rust

    Project mention: This implementation is actually unsafe since we don't check if the index is in-bounds. But this is fine since this is only used internally. | reddit.com/r/rustjerk | 2022-12-26
  • smol

    A small and fast async runtime for Rust

    Project mention: Tokio for FFI app? | reddit.com/r/rust | 2022-12-13

    There is also https://github.com/smol-rs/smol which has components which you can compose into your own executor if you still need async IO but your usage patterns don't fit into the general purpose ones that Tokio provides.

  • bastion

    Highly-available Distributed Fault-tolerant Runtime

    Project mention: Bastion – Highly-Available Distributed Fault-Tolerant Runtime for Rust | news.ycombinator.com | 2022-10-27
  • left-right

    A lock-free, read-optimized, concurrency primitive.

    Project mention: New ScyllaDB Go Driver: Faster Than GoCQL and Its Rust Counterpart | news.ycombinator.com | 2022-10-13

    Do you mean this? https://github.com/jonhoo/left-right

    I am not sure of the performance or implementation difficulty but the data structure seems to be what you are talking about.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • flume

    A safe and fast multi-producer, multi-consumer channel. (by zesterer)

    Project mention: pub/sub Event bus in rust | reddit.com/r/rust | 2022-10-10
  • joshuto

    ranger-like terminal file manager written in Rust

    Project mention: pros and cons of using plain shell vs. filemanager (no matter, remote or local full CLI)? | reddit.com/r/BSD | 2022-12-24

    There is also joshuto, which is still in early-ish development (Built-in command line needs work) but looks awesome. I'm probably switching to joshuto at some point.

  • cortex-m-rtic

    Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers

    Project mention: eskarp: Custom design using ergogen, 3D printed case, RP2040 with Rust firmware | reddit.com/r/ErgoMechKeyboards | 2023-01-06

    RTIC - RTOS and task scheduling

  • libfringe

    a Rust library implementing safe, lightweight context switches, without relying on kernel services

    Project mention: Virtual Threads in Rust? | reddit.com/r/rust | 2022-09-30

    There’s a bunch of library-based implementations of coroutines for rust. I recall https://github.com/edef1c/libfringe being the most interesting one, but it is quite dated. I don’t think there’s a lot of community interest in stackfull coroutines at this point.

  • RxRust

    The Reactive Extensions for the Rust Programming Language (by ReactiveX)

  • coroutine-rs

    Coroutine Library in Rust

  • pen

    The parallel, concurrent, and functional programming language for scalable software development (by pen-lang)

    Project mention: Announcing the Pen programming language v0.4 | dev.to | 2022-07-03

    The Pen programming language is a new parallel, concurrent, statically typed, functional programming language. I'm excited to announce its v0.4 release here!

  • concread

    Concurrently Readable Data Structures for Rust

  • seize

    Fast, efficient, and robust memory reclamation for Rust.

    Project mention: Seize - Fast, efficient, and robust memory reclamation for Rust. | reddit.com/r/github_trends | 2022-05-10
  • leapfrog

    Lock-free concurrent and single-threaded hash map implementations using Leapfrog probing. Currently the highest performance concurrent HashMap in Rust for certain use cases.

    Project mention: Leapfrog 0.2.0 (improved concurrent rust hashmap) | reddit.com/r/rust | 2022-03-15

    I'm announcing v 0.2.0 of leapfrog (crate), which adds new features and fixes the collision problems of the previous version. The performance is slightly reduced, but not by much and the maps are still very fast.

  • r3bl_rs_utils

    Redux store, TUI framework, non binary tree & graph data structures, proc macros, and more in Rust

    Project mention: [Media] TUI framework fans - I've just updated the r3bl_tui crate to v0.2.0. It now supports syntax highlighting, and compositor & double buffering for smooth rendering and no jank. It is inspired by React. https://crates.io/crates/r3bl_tui | reddit.com/r/rust | 2022-12-11
  • Bus Writer

    Single-reader, multi-writer & single-reader, multi-verifier; broadcasts reads to multiple writeable destinations in parallel

  • wasm-futures-executor

    Executor for asynchronous task based on wasm web workers.

    Project mention: How to enable Bulk Memory Operations when compiling to WebAssembly? | reddit.com/r/rust | 2022-06-14

    RUSTFLAGS='-C target-feature=+bulk-memory' should work according to the readme of https://github.com/wngr/wasm-futures-executor

  • atomicbox

    Safe atomic Box types for Rust

  • rsevents

    Auto- and manual-reset events for rust

    Project mention: Implementing truly safe semaphores in rust, and the cost we pay for safety | reddit.com/r/rust | 2022-10-04

    The AutoResetEvent takes care of that, doing Acquire and Release as needed. Source code here if you’re interested, not too long: https://github.com/neosmart/rsevents/blob/master/src/lib.rs

  • ctrlc-windows

    Send a CTRL-C event to a Windows console application

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-02-01.

Rust Concurrency related posts

Index

What are some of the best open-source Concurrency projects in Rust? This list will help you:

Project Stars
1 yew 26,169
2 rayon 7,952
3 actix 7,666
4 crossbeam 5,831
5 smol 2,699
6 bastion 2,594
7 left-right 1,675
8 flume 1,649
9 joshuto 1,111
10 cortex-m-rtic 1,073
11 libfringe 472
12 RxRust 463
13 coroutine-rs 405
14 pen 394
15 concread 281
16 seize 244
17 leapfrog 146
18 r3bl_rs_utils 79
19 Bus Writer 26
20 wasm-futures-executor 19
21 atomicbox 17
22 rsevents 13
23 ctrlc-windows 6
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com