awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
smol-rs avatar

smol-rs/smol

0
View on GitHub↗
4,979 星标·190 分支·Rust·Apache-2.0·16 次浏览

Smol

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 for TCP, UDP, and Unix connections, as well as asynchronous filesystem operations and system process management. For coordinating shared state, it provides a suite of concurrency primitives including asynchronous mutexes, semaphores, and channels. Additional functionality includes timed event scheduling for delayed or recurring tasks.

Features

  • Async I/O Runtimes - Acts as a lightweight async runtime providing the core event loop and task scheduler for Rust applications.
  • Blocking Task Offloaders - Provides mechanisms to offload synchronous CPU-intensive tasks to dedicated thread pools.
  • Waker-Based Schedulers - Implements a task executor that manages future progression using the standard library waker mechanism.
  • Non-Blocking Socket I/O - Ships non-blocking socket I/O for handling multiple TCP and UDP streams asynchronously.
  • Asynchronous I/O Libraries - Provides a comprehensive library of non-blocking interfaces for system I/O operations.
  • Non-Blocking I/O Interfaces - Implements non-blocking I/O interfaces that monitor multiple network sockets and files via OS event notifications.
  • Asynchronous File Access - Provides non-blocking utilities for reading and writing files on the local filesystem.
  • Asynchronous Runtime Adapters - Provides abstraction layers that enable asynchronous futures to operate across different runtime implementations.
  • Concurrency Primitives - Implements essential synchronization constructs such as asynchronous mutexes, semaphores, and channels.
  • Asynchronous Runtime Compatibility - Offers a compatibility layer for detecting and utilizing event loops to execute tasks across different runtimes.
  • Async-Sync Compatibility Layers - Provides architectural mechanisms to ensure interoperability between different asynchronous runtime ecosystems.
  • Asynchronous File I/O - Provides non-blocking interfaces for reading and writing files to prevent runtime stalls.
  • Asynchronous Schedulers - Implements an asynchronous scheduler that maps computational tasks to thread pools for non-blocking execution.
  • Asynchronous Task Executors - Ships a task executor that schedules and runs asynchronous futures on global or local thread pools.
  • Event-Driven I/O - Implements event-driven I/O to handle TCP, UDP, and Unix connections asynchronously.
  • Process Management - Provides interfaces for interacting with system processes while maintaining application responsiveness.
  • External Process Management - Enables spawning and controlling external system processes using non-blocking communication.
  • Blocking I/O Offloading - Includes a utility to offload synchronous I/O operations to a dedicated thread pool to prevent runtime stalls.
  • Trait Adaptation Layers - A utility for converting asynchronous input and output traits between different ecosystems to ensure compatibility across various libraries.
  • Blocking Operation Handlers - Offloads synchronous I/O and CPU-intensive computations to worker threads to maintain runtime responsiveness.
  • Thread Pools - Manages a collection of worker threads to handle synchronous I/O and CPU-heavy operations.
  • Timer Schedulers - Includes interfaces for scheduling asynchronous tasks using delayed timeouts and recurring intervals.
  • Asynchronous Synchronization Primitives - Provides a suite of asynchronous mutexes and semaphores to coordinate access to shared state.
  • Scoped Task Synchronization - Implements mechanisms to coordinate the completion of parallel operations and resource access.
  • Message Passing Channels - Provides synchronized communication primitives for exchanging data between concurrent asynchronous tasks.

Star 历史

smol-rs/smol 的 Star 历史图表smol-rs/smol 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

smol-rs/smol 是做什么的?

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.

smol-rs/smol 的主要功能有哪些?

smol-rs/smol 的主要功能包括:Async I/O Runtimes, Blocking Task Offloaders, Waker-Based Schedulers, Non-Blocking Socket I/O, Asynchronous I/O Libraries, Non-Blocking I/O Interfaces, Asynchronous File Access, Asynchronous Runtime Adapters。

smol-rs/smol 有哪些开源替代品?

smol-rs/smol 的开源替代品包括: tokio-rs/mio — Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network… chriskohlhoff/asio — Asio is a C++ library for performing network and low-level I/O operations using a consistent asynchronous model that… reactphp/reactphp — ReactPHP is an asynchronous runtime and event-driven I/O framework for PHP. It provides an environment for executing… yjhjstz/deep-into-node — This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an… gevent/gevent — Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O… python-trio/trio — Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing…

Smol 的开源替代方案

相似的开源项目,按与 Smol 的功能重合度排序。
  • tokio-rs/miotokio-rs 的头像

    tokio-rs/mio

    7,024在 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
    在 GitHub 上查看↗7,024
  • chriskohlhoff/asiochriskohlhoff 的头像

    chriskohlhoff/asio

    5,896在 GitHub 上查看↗

    Asio is a C++ library for performing network and low-level I/O operations using a consistent asynchronous model that avoids blocking program execution. It provides a portable, cross-platform interface for network socket communication across different operating systems, and manages multiple asynchronous operations without requiring explicit thread management or locking. The library implements a proactor-based asynchronous model where operations post completion handlers to a queue for later execution, and wraps operating system I/O multiplexing mechanisms like epoll, kqueue, IOCP, and select in

    C++
    在 GitHub 上查看↗5,896
  • reactphp/reactphpreactphp 的头像

    reactphp/reactphp

    9,091在 GitHub 上查看↗

    ReactPHP is an asynchronous runtime and event-driven I/O framework for PHP. It provides an environment for executing concurrent tasks through a central event loop implementation and reactor pattern, allowing applications to handle multiple operations without pausing the main execution thread. The project includes a specialized asynchronous socket library for TCP, UDP, and TLS communication, alongside a non-blocking HTTP server and client for streaming web requests and responses. Its capability surface covers asynchronous control flow via promises and fibers, non-blocking network connectivity

    PHP
    在 GitHub 上查看↗9,091
  • yjhjstz/deep-into-nodeyjhjstz 的头像

    yjhjstz/deep-into-node

    4,392在 GitHub 上查看↗

    This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an in-depth examination of the runtime, focusing on how the engine manages memory handles, executes asynchronous operations, and implements core module logic. The guide specifically analyzes the integration of native C++ classes and functions into JavaScript and documents the behavior of the libuv event loop. It includes detailed references for optimizing performance by identifying V8 compiler bailouts and profiling execution to improve resource efficiency. The material covers a

    libuvnodejsv8
    在 GitHub 上查看↗4,392
  • 查看 Smol 的所有 30 个替代方案→