от корутин на аллокацию/деаллокацию не превысист наносекунд. к чему такое зачем вообще делать? там где ввод/вывод - можно всегда забить буфер. и тут уже ядро будет разбираться. я конечно уважаю то, что делает антон полухин. но зачем усложнять то, что проще простого?
Асинхронности позволяют не ждать после того как буфер забился а другую пользу наносить, может в это время есть ещё сто открытых сокетов где можно почитать/пописать. Ну а далее уже вопрос, что делать когда таки записали, можно через callback handlers (как в asio), но coroutines позволяют сделать все проще, автоматом сгенерят frame с состоянием выполнения, промежуточными переменными и восстановлением работы в точке каждого ожидания.
Обсуждают сегодня