Встречается на собеседованиях • сегодня
Какие знаешь инструменты для оптимизации работы кода
В Python есть несколько инструментов для оптимизации кода:
-
Профилирование – помогает найти узкие места:
cProfile– встроенный модуль для анализа времени выполнения функций.line_profiler– профилирует код построчно.
-
Оптимизация памяти:
memory_profiler– отслеживает использование памяти.- Использование
__slots__для уменьшения памяти объектов.
-
Ускорение выполнения:
numba– JIT-компиляция Python-кода.Cython– компиляция Python в C.
-
Кэширование:
functools.lru_cache– мемоизация результатов функций.
Пример с lru_cache:
python
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)Это ускоряет рекурсивный расчет чисел Фибоначчи.
Для сложных задач можно использовать multiprocessing или asyncio для параллелизма.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы