For an asynchronous runtime library for Rust, the strongest matches are smol-rs/smol (Smol is a lightweight, high-performance asynchronous runtime for Rust), tokio-rs/tokio (Tokio is the industry-standard asynchronous runtime for Rust, providing) and async-rs/async-std (This is a comprehensive asynchronous runtime for Rust that). cameron314/concurrentqueue and rayon-rs/rayon round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best rust async runtime libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Smol is a lightweight Rust asynchronous runtime and task executor. It provides a suite of foundational tools for scheduling and executing asynchronous futures, managing background workloads, and handling non-blocking network and file operations. The project includes a compatibility layer for adapting asynchronous types and execution contexts, enabling futures to run across different runtime ecosystems. It also features a mechanism to offload synchronous I/O and CPU-intensive operations to dedicated worker thread pools to prevent runtime stalls. Its capabilities cover non-blocking network I/O
Smol is a lightweight, high-performance asynchronous runtime for Rust that provides a multi-threaded executor, non-blocking I/O, and timer support, making it a comprehensive solution for concurrent task scheduling.
Tokio is an asynchronous runtime for the Rust programming language, designed to manage and execute concurrent tasks efficiently. It provides a multi-threaded execution environment that schedules lightweight tasks across available processor cores, utilizing a work-stealing scheduler to balance computational load. By employing a poll-based execution model and waker-based notifications, the runtime drives asynchronous operations forward without requiring active polling loops, ensuring efficient resource utilization. The project distinguishes itself through a comprehensive suite of tools for high
Tokio is the industry-standard asynchronous runtime for Rust, providing the multi-threaded scheduler, non-blocking I/O, and timer support required to build high-performance concurrent applications.
async-std is a Rust asynchronous runtime and non-blocking I/O library. It serves as an asynchronous standard library, providing a set of alternatives to the core Rust library for managing concurrent tasks, networking, and file system access. The project implements a standard-library-mirrored API, offering asynchronous versions of existing synchronous types to maintain a familiar interface. This approach allows for asynchronous Rust development using an interface that reflects the ergonomics of the language's standard library. The runtime includes a task executor for scheduling and executing
This is a comprehensive asynchronous runtime for Rust that provides a multi-threaded scheduler, non-blocking I/O, and timer support through an interface designed to mirror the standard library.
ConcurrentQueue is a header-only C++ template library that provides a lock-free data structure for multi-producer multi-consumer thread communication. It functions as a synchronization primitive designed to coordinate data flow between concurrent execution units using atomic operations rather than traditional mutex locking. The library distinguishes itself through a design that minimizes contention and synchronization overhead. It utilizes sub-queue token mapping to distribute workloads across partitioned internal queues and supports bulk operations to transfer multiple data elements in singl
This is a C++ lock-free data structure library for thread communication, which is a low-level concurrency primitive rather than an asynchronous runtime for Rust.
Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time. The library distinguishes itself through its focus on safe, scoped task synchronization, which ensures that all spawned operations complete before a scope exits to preve
Rayon is a data-parallelism library focused on CPU-bound task distribution rather than the asynchronous, non-blocking I/O runtime required for concurrent network and event-driven programming.
Libevent is a cross-platform library that provides a mechanism for executing callback functions when specific events occur on file descriptors, signals, or timers. It functions as a network event loop framework, enabling the development of applications that manage concurrent network connections and non-blocking input and output operations within a single execution context. The library distinguishes itself by providing a portable abstraction layer that automatically selects the most efficient system-level event notification mechanism available on the host operating system. It includes thread-s
This is a C-based event notification library that provides low-level I/O multiplexing primitives, but it is not a Rust-native asynchronous runtime or framework.
Actix Web is an asynchronous web framework designed for building high-performance network services. It provides a foundation for processing concurrent requests through a non-blocking execution model, utilizing an actor-based concurrency system to manage lightweight processes and message passing. The framework includes a low-level networking layer that handles the parsing and serialization of HTTP traffic according to standard specifications. The framework distinguishes itself through a type-safe routing engine that enforces strict data types at compile time, ensuring that request parameters a
Actix Web is a high-performance web framework built on top of an asynchronous runtime rather than being the runtime itself, making it a tool you would use to build services rather than the underlying engine for concurrent I/O and task scheduling.
Crossbeam is a concurrency toolkit for Rust providing low-level primitives for writing multi-threaded programs. It focuses on lock-free data structures and memory management primitives designed for shared-memory concurrent environments. The project includes a work-stealing scheduler that uses double-ended queues to balance workloads across multiple processor cores. This system enables the implementation of work-stealing deques to distribute tasks and prevent bottlenecks. The toolkit covers broader capabilities for parallel algorithm development, multi-threaded task scheduling, and general co
This is a collection of low-level concurrency primitives and data structures for multi-threaded programming, but it lacks the integrated non-blocking I/O and event-loop capabilities required for a full asynchronous runtime.
Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network sockets and file descriptors. It acts as a portable wrapper for operating system native polling systems, including epoll, kqueue, and IOCP, allowing applications to trigger events when resources are ready for reading or writing without blocking the execution thread. The library provides a non-blocking socket interface for managing TCP, UDP, and Unix sockets. It distinguishes itself through a vectored I/O implementation, enabling scatter-gather reads and writes across multiple buffer
Mio is a low-level I/O polling library that serves as a foundational building block for asynchronous runtimes, but it lacks the high-level multi-threaded scheduler and task management features required for a complete runtime.
llrt is a low-latency JavaScript runtime based on the QuickJS engine, specifically designed for executing asynchronous functions in serverless environments. It provides a lightweight execution layer optimized for fast startup times and minimal memory usage when running ES2023 workloads. The project differentiates itself by bundling natively optimized cloud service SDKs directly into the runtime binary to eliminate external dependency loading. To further reduce cold start latency, it implements parallel connection warming for TLS and network handshakes during the startup phase. The runtime co
This is a specialized JavaScript runtime designed for serverless execution rather than a general-purpose asynchronous runtime library or framework for Rust developers to build concurrent applications.
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
This is a C/C++ network library and event-driven framework, not a Rust-based asynchronous runtime, making it a different tool for handling concurrent I/O.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| smol-rs/smol | 5K | Rust | Apache-2.0 | |
| tokio-rs/tokio | 32.3K | Rust | MIT | |
| async-rs/async-std | 4.1K | Rust | Apache-2.0 | |
| cameron314/concurrentqueue | 12.1K | C++ | other | |
| rayon-rs/rayon | 13.1K | Rust | Apache-2.0 | |
| libevent/libevent | 11.9K | C | NOASSERTION | |
| actix/actix-web | 24.4K | Rust | apache-2.0 | |
| crossbeam-rs/crossbeam | 8.5K | Rust | Apache-2.0 | |
| tokio-rs/mio | 7K | Rust | MIT | |
| awslabs/llrt | 8.8K | Rust | Apache-2.0 |