В 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
Похожее
20.05.2026
scripty
Scripty - это минимальный язык выражений без переменных, циклов и условий. Тольк...
19.05.2026
Bun в бан
Автор анализирует недавний перевод Bun с Zig на Rust, выполненный с помощью Clau...
18.05.2026
Zig против Rust
Автор сравнивает Zig и Rust. Конечно, Zig имеет элегантные фичи: интерфейс аллок...
14.05.2026
Компилятор C на Zig
По ссылке серия статей, которые автор написал по мотивам книги Норы Сандлер "Как...