Какие знаешь инструменты оптимизации Python кода
Python
Middle
Без компании
Какие знаешь инструменты оптимизации Python кода
Ответы
Для оптимизации Python-кода можно использовать:
- **Профилирование** – `cProfile`, `timeit`, `memory_profiler` для поиска узких мест.
- **Использование встроенных структур данных** – `list`, `dict`, `set` вместо самописных решений.
- **Генераторы** – ленивые вычисления с `yield` для экономии памяти.
- **Кэширование** – `functools.lru_cache` для мемоизации функций.
- **Компиляция** – `Cython`, `Numba` или `PyPy` для ускорения критических участков.
- **Векторизация** – `NumPy` и `pandas` для быстрых операций с массивами.
- **Многопоточность/многопроцессорность** – `threading`, `multiprocessing`, `asyncio`.
Пример с `lru_cache`:
```
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
```