В 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
Похожее
04.07.2026
2048 для Game Boy Advance на Zig
Автор написал игру 2048 для Game Boy Advance на Zig и объясняет, почему этот язы...
12.06.2026
Revo
На эту пятницу у меня вас новый язык программирования, написанный на Zig Revo...
20.05.2026
scripty
Scripty - это минимальный язык выражений без переменных, циклов и условий. Тольк...
19.05.2026
Bun в бан
Автор анализирует недавний перевод Bun с Zig на Rust, выполненный с помощью Clau...