В Zig 0.16 появился std.Io - кроссплатформенный интерфейс для ввода-вывода и конкурентности, но единственная встроенная реализация std.Io.Threaded использует потоки ОС, что не масштабируется. На std.Io.Threaded 10 000 задач с sleep выполняются ~20 секунд, а 50 000 упираются в лимиты системы.
Автор показывает свою библиотеку zio, которая реализует тот же std.Io, но поверх io_uring/kqueue/IOCP со стекфулл корутинами. И тут те же 10 000 задач отрабатывают за ~10 секунд без ограничения на количество потоков. При этом код приложения почти не меняется - достаточно инициализировать zio runtime и использовать его io() вместо std.Io.Threaded.
Хорошо, что в принципе двигаются к конкурентности
01.06.2026
Похожее
25.08.2026
Вкуc zig после Rust
Автор, семь лет писавший на Rust, переписал свой проект jsonpath-rust на Zig и д...
15.08.2026
Самый сложный калькулятор
Автор строит "калькулятор" максимально сложным способом. От токенизации арифмети...
13.08.2026
Треды в Zig
Автор разбирает устройство std.Io.Threaded в Zig - реализации интерфейса ввода-в...
09.08.2026
Кровать на zig
Физик с PhD, с ADHD и аутизмом рассказывает, как купил Chilipad 2.0 - систему во...