PYTHON ПРОФИЛИРОВАНИЕ ПАМЯТИ

Python профилирование памяти позволяет выявить утечки памяти и оптимизировать работу программы. Для этого в Python есть библиотеки, такие как memory_profiler и tracemalloc.

Библиотека memory_profiler позволяет измерять использование памяти во время выполнения программы. Для ее использования нужно установить библиотеку и запустить декоратор @profile перед функцией, которую необходимо профилировать:

@profile
def my_function():
    a = [1] * (10 ** 6)
    return a

if __name__ == '__main__':
    my_function()

Библиотека tracemalloc позволяет выявить места в коде, где происходят аллокации и освобождения памяти. Для ее использования нужно импортировать библиотеку и запустить функцию tracemalloc.start(), после использования вызвать функцию tracemalloc.stop(), чтобы вывести статистику:

import tracemalloc

def my_function():
    a = [1] * (10 ** 6)
    return a

if __name__ == '__main__':
    tracemalloc.start()
    my_function()
    current, peak = tracemalloc.get_traced_memory()
    tracemalloc.stop()
    print(f"Current memory usage is {current / 10**6}MB; Peak was {peak / 10**6}MB")

Использование профилирования памяти в Python позволяет оптимизировать работу приложения и избежать утечек памяти.

КАК РАБОТАЕТ ПАМЯТЬ В ПИТОНЕ? ССЫЛКИ И ПЕРЕМЕННЫЕ

В Python — нет переменных. И как теперь жить? Python Memory Management на пальцах

11 Откуда берётся утечка памяти?

«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС

Почему Python — фаворит Machine Learning- Как освоить Python с Junior до Middle - Python разработчик

34. Что такое утечка памяти? Как найти утечку памяти? Устраняем реальную утечку памяти в приложении.

Программирование на Python - 14 - Память, stack, heap, gc

Алексей Кузьмин, ДомКлик «Поиск и оптимизация узких мест в Python»

Андрей Аксенов — Про память

Управление памятью в python

BLGPG-A9B034418728-24-09-19-20

Новые материалы: