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

Какие знаешь методы оптимизации CPU bound задач в Python

Для оптимизации CPU-bound задач в Python можно использовать:

  1. Многопроцессорность (модуль multiprocessing), так как GIL блокирует потоки:
python
from multiprocessing import Pool

def heavy_computation(x):
    return x * x

with Pool(4) as p:
result = p.map(heavy_computation, range(10))

text

2. **Cython** - компиляция Python-кода в C для ускорения.

3. **Numba** - JIT-компилятор для числовых операций:
```python
from numba import jit

@jit(nopython=True)
def fast_func(x):
    # ускоренный код
    return x * x
  1. Использование C-расширений (ctypes, CFFI).

  2. Оптимизация алгоритмов - выбор более эффективных алгоритмов (O(n) вместо O(n²)).

  3. NumPy - для векторных операций вместо циклов.

Для I/O-bound задач лучше подходят асинхронные подходы (asyncio) или потоки.

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

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

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

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