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

Будешь ли делать асинхронной CPU-bound задачу

Нет, асинхронность в Python не ускоряет CPU-bound задачи, так как asyncio работает в одном потоке и предназначен для I/O-bound операций. Для CPU-bound задач лучше использовать многопроцессорность (multiprocessing) или вычислительные библиотеки типа NumPy.

Пример:

python
import multiprocessing

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

if __name__ == '__main__':
    with multiprocessing.Pool() as pool:
        results = pool.map(cpu_intensive_task, [10_000_000, 20_000_000])

Асинхронный вариант здесь не даст преимущества, так как GIL блокирует выполнение. Для истинного параллелизма CPU-bound задач нужны процессы, а не корутины.

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

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

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

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