awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
tokio-rs avatar

tokio-rs/tokio

0
View on GitHub↗
32,309 stars·3,104 forks·Rust·MIT·12 viewstokio.rs↗

Tokio

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-performance network programming and concurrent coordination. It features a robust asynchronous input/output framework that maps non-blocking operations to platform-specific system calls, complemented by sophisticated buffering strategies for both incoming and outgoing data. Developers can manage complex state and data flow using multi-producer, multi-consumer channels that include built-in backpressure management, as well as primitives for task multiplexing and future selection to handle multiple concurrent operations simultaneously.

Beyond its core runtime capabilities, the framework offers extensive support for asynchronous stream processing and shared state management. It provides utilities for sharding data structures to reduce contention and tools for implementing custom asynchronous streams and futures. The project also emphasizes efficiency through compile-time feature selection, allowing users to include only the necessary runtime components to minimize binary size and overhead.

Features

  • Runtime Environments - A multi-threaded execution environment that schedules and manages concurrent tasks by polling futures until completion.
  • Timer Schedulers - Distributes asynchronous tasks across a pool of worker threads to balance computational load and maximize CPU utilization.
  • Network Programming Frameworks - Building scalable servers and clients that handle massive volumes of concurrent socket connections using non-blocking input and output operations.
  • Concurrency Models - The runtime allows developers to create custom asynchronous computations by implementing state machines that drive logic forward until the operation reaches completion or a pending status.
  • Stdin Stream Readers - The runtime reconstructs complete frames from incoming socket data by managing a mutable byte buffer and advancing the cursor after successful parsing.
  • Concurrency Primitives - A set of primitives for managing shared state and coordinating data flow between independent tasks in a multi-threaded environment.
  • Message Passing Channels - Facilitates safe data exchange between concurrent tasks by providing synchronized message queues with built-in backpressure management.
  • Asynchronous Programming - Runtime for building reliable asynchronous applications.
  • Developer Tools - Runtime for writing reliable, asynchronous applications.
  • Network Libraries - Asynchronous runtime and networking standard for Rust.
  • Parsers & Lexers - The runtime extracts structured data from buffered streams by verifying frame completeness and discarding processed bytes once the information is successfully retrieved.
  • State Synchronization Patterns - The runtime protects data across asynchronous tasks by using synchronization primitives or delegating state updates to a dedicated task via message passing.
  • Asynchronous Stream Processors - Handling continuous flows of data from network sockets or files by processing, buffering, and transforming incoming byte streams in real time.
  • Data Sharding Utilities - The runtime divides large data structures into independent segments protected by individual locks to reduce contention and improve performance in high-concurrency applications.
  • Conditional Compilation Utilities - Uses conditional compilation flags to include only necessary runtime components, minimizing binary size and reducing unnecessary overhead.
  • Performance Optimization Utilities - Reducing performance bottlenecks in high-concurrency systems by sharding shared data structures and implementing efficient locking strategies for parallel task access.

Star history

Star history chart for tokio-rs/tokioStar history chart for tokio-rs/tokio

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Tokio

Similar open-source projects, ranked by how many features they share with Tokio.
  • nushell/nushellnushell avatar

    nushell/nushell

    39,743View on GitHub↗

    Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data rather than raw text streams. By enforcing data types and command signatures, it provides a consistent environment for building robust, pipeline-oriented workflows. The shell allows users to chain commands that pass structured objects between stages, enabling complex data processing and automation tasks that remain predictable across different operating systems. What distinguishes the project is its focus on interactive data exploration and modular extensibility. Users can quer

    Rustnushellrustshell
    View on GitHub↗39,743
  • ray-project/rayray-project avatar

    ray-project/ray

    42,895View on GitHub↗

    Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting task scheduling and resource management. It functions as a resource-aware execution engine that manages task dependencies, placement, and fault tolerance across networked compute nodes. At its core, the system provides a stateful actor model, allowing developers to define classes that run in dedicated processes to maintain and mutate internal state across remote method calls. The framework distinguishes itself through a robust cross-language interoperability layer, enabling f

    Pythondata-sciencedeep-learningdeployment
    View on GitHub↗42,895
  • php/php-srcphp avatar

    php/php-src

    40,150View on GitHub↗

    This project is the core source code for a general-purpose, server-side scripting language designed for web development. It provides a high-performance execution engine that parses and runs scripts to generate dynamic content, supported by a comprehensive standard library for data manipulation, networking, and system interaction. The repository serves as an open-source development platform where the language runtime and its interpreter are built, maintained, and evolved through community-driven governance. The runtime is powered by a stack-based virtual machine that executes compiled bytecode

    C
    View on GitHub↗40,150
  • tokio-rs/miotokio-rs avatar

    tokio-rs/mio

    7,024View on GitHub↗

    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

    Rustasynchronousnetworkingnon-blocking
    View on GitHub↗7,024
See all 30 alternatives to Tokio→

Frequently asked questions

What does tokio-rs/tokio do?

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,…

What are the main features of tokio-rs/tokio?

The main features of tokio-rs/tokio are: Runtime Environments, Timer Schedulers, Network Programming Frameworks, Concurrency Models, Stdin Stream Readers, Concurrency Primitives, Message Passing Channels, Asynchronous Programming.

What are some open-source alternatives to tokio-rs/tokio?

Open-source alternatives to tokio-rs/tokio include: nushell/nushell — Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data… ray-project/ray — Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting… php/php-src — This project is the core source code for a general-purpose, server-side scripting language designed for web… tokio-rs/mio — Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network… highlightjs/highlight.js — Highlight.js is a syntax highlighting library that automatically detects and applies color-coded styling to source… agno-agi/agno — Agno is an agent operating system designed to manage the lifecycle, tool execution, and persistent state of autonomous…