Встречается на 1% собеседований по Python

Как можно влиять на скорость работы Python-приложения

Оптимизация скорости Python-приложения включает несколько подходов:

  1. Профилирование – используй cProfile или timeit для выявления узких мест.
  2. Оптимизация алгоритмов – замена O(n²) на O(n log n) часто дает больший прирост, чем микрооптимизации.
  3. Использование компиляции – Cython, Numba или PyPy ускоряют выполнение кода.
  4. Встроенные структуры данных – list, dict и set оптимизированы лучше кастомных решений.
  5. Параллелизм – multiprocessing для CPU-bound задач, asyncio для I/O-bound.

Пример с Numba для ускорения численных операций:

python
from numba import jit
import numpy as np

@jit(nopython=True)
def sum_array(arr):
    total = 0
    for x in arr:
        total += x
    return total

arr = np.arange(1_000_000)
print(sum_array(arr))  # Работает быстрее чистого Python

Также полезно минимизировать вызовы в циклах, использовать генераторы и избегать глобальных переменных.

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

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

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