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

Какие знаешь инструменты для оптимизации работы кода

В Python есть несколько инструментов для оптимизации кода:

  1. Профилирование – помогает найти узкие места:

    • cProfile – встроенный модуль для анализа времени выполнения функций.
    • line_profiler – профилирует код построчно.
  2. Оптимизация памяти:

    • memory_profiler – отслеживает использование памяти.
    • Использование __slots__ для уменьшения памяти объектов.
  1. Ускорение выполнения:

    • numba – JIT-компиляция Python-кода.
    • Cython – компиляция Python в C.
  2. Кэширование:

    • 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 для параллелизма.

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

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

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

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