Встречается на собеседованиях • сегодня

Приведи пример когда асинхронность работает медленно

Асинхронность может работать медленно в CPU-bound задачах, где нет I/O операций. Асинхронный код выполняется в одном потоке, поэтому тяжелые вычисления блокируют event loop. Пример:

python
import asyncio
import time

async def cpu_bound_task(n):
    return sum(i * i for i in range(n))

async def main():
start = time.time()
tasks = [cpu_bound_task(10_000_000) for _ in range(4)]
await asyncio.gather(*tasks)
print(f"Async time: {time.time() - start:.2f}s")

asyncio.run(main())

text

Для сравнения синхронная версия:

```python
def sync_cpu_task(n):
    return sum(i * i for i in range(n))

start = time.time()
[sync_cpu_task(10_000_000) for _ in range(4)]
print(f"Sync time: {time.time() - start:.2f}s")

В этом случае синхронный код может работать быстрее, так как не тратит время на переключение контекста. Для CPU-bound задач лучше использовать multiprocessing или threading.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы