asyncio даёт выигрыш, когда много времени тратится на независимое ожидание I/O и используемые библиотеки не блокируют event loop. Последовательные ожидания тогда можно перекрыть.
В каких случаях asyncio даёт ускорение?
asyncio даёт выигрыш, когда много времени тратится на независимое ожидание I/O и используемые библиотеки не блокируют event loop. Последовательные ожидания тогда можно перекрыть.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
asyncio даёт выигрыш, когда много времени тратится на независимое ожидание I/O и используемые библиотеки не блокируют event loop. Последовательные ожидания тогда можно перекрыть.
Например, несколько независимых HTTP-запросов выполняются конкурентно в пределах лимита, а не один за другим. CPU-тяжёлый Python-код сам по себе не ускорится, а блокирующий вызов испортит задержки всех задач. Учитывайте накладные расходы, нагрузку на зависимости, таймауты и отмену.