Типичный программист | IT, программирование, разработка, ИИ
IT и технологии · 30 июня 2026 г.
Асинхронный Rust врезался в потолок: две точки ожидания — 360 строк промежуточного кода... — 30 июня 2026 г. в 16:00:15.510
Асинхронный Rust врезался в потолок: две точки ожидания — 360 строк промежуточного кода против 23 у синхронного Я думал, абстракции без накладных расходов в Rust: почти правда. Пока не увидел, как async-функция с двумя await разворачивается в конечный автомат из 360 строк IR. Синхронный аналог займёт 23 строки. Для сервера терпимо. Для прошивки на 256 КБ или wasm-модуля, где каждый килобайт на счету, уже нет. Автор объясняет, почему rustc не схлопывает состояния, не раскрывает сопрограммы и оставляет путь при панике. В материале найдёте обходы: ручная реализация Future, готовое значение из std, сворачивание await через pattern matching и передача данных по ссылке. #rust

