Профилирование использования памяти кучи в программах на Perl - PullRequest
2 голосов
/ 11 июля 2011

Я написал Perl-программу для работы с огромными наборами данных.Я пытаюсь профилировать его извинения с точки зрения использования памяти.Пробовал использовать valgrind для небольших наборов данных, но это значительно замедляет выполнение.Я ищу только профилирование кучи.Не могли бы вы, ребята, предложить несколько способов?

Ответы [ 4 ]

7 голосов
/ 11 июля 2011

Когда я использовал Google и поисковый термин «профиль памяти perl», один из первых элементов указывает на модуль Perl Devel::Size как один из способов определения использования памяти.Вокруг скрываются модули обнаружения утечек памяти.

5 голосов
/ 10 октября 2012

Новый модуль Devel :: SizeMe обеспечивает детальное представление об использовании динамической памяти perl-программы или структуры данных.* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 * * * *.

1 голос
/ 11 июля 2011

Мы использовали Devel::Leak. Для полноценной работы вам нужен отладочный скомпилированный Perl, но даже без этого вы можете подсчитывать и регистрировать количество выделенных скаляров, хэшей и массивов при выполнении кода в различных ключевых точках. Этого было достаточно, чтобы выявить утечки, которые у нас были.

1 голос
/ 11 июля 2011

использовать Memchmark .

...