#pingora #async #non-blocking #networking

pingora-runtime

Multithreaded Tokio runtime with the option of disabling work stealing

5 releases (3 breaking)

0.4.0 Nov 1, 2024
0.3.0 Jul 12, 2024
0.2.0 May 10, 2024
0.1.1 Apr 18, 2024
0.1.0 Feb 27, 2024

#1275 in Asynchronous

Download history 3029/week @ 2024-09-18 6639/week @ 2024-09-25 5570/week @ 2024-10-02 5717/week @ 2024-10-09 5974/week @ 2024-10-16 6831/week @ 2024-10-23 10984/week @ 2024-10-30 11221/week @ 2024-11-06 10581/week @ 2024-11-13 14144/week @ 2024-11-20 14180/week @ 2024-11-27 11066/week @ 2024-12-04 13468/week @ 2024-12-11 8845/week @ 2024-12-18 5199/week @ 2024-12-25 5474/week @ 2025-01-01

35,368 downloads per month
Used in 26 crates (3 directly)

Apache-2.0

12KB
177 lines

Pingora tokio runtime.

Tokio runtime comes in two flavors: a single-threaded runtime and a multi-threaded one which provides work stealing. Benchmark shows that, compared to the single-threaded runtime, the multi-threaded one has some overhead due to its more sophisticated work steal scheduling.

This crate provides a third flavor: a multi-threaded runtime without work stealing. This flavor is as efficient as the single-threaded runtime while allows the async program to use multiple cores.

Dependencies

~2.3–7.5MB
~53K SLoC