YAPC Russia: Анализ памяти в perl

Post on 23-Jan-2017

146 views 1 download

Transcript of YAPC Russia: Анализ памяти в perl

Анализ памяти в Perl.

Tips&Tricks.Евгений Вансевичe.vansevich@corp.mail.ru

https://github.com/kadavr

Devel::GladiatorПозволяет итерировать внутренние структуры perl.

Крутое названиеОтдаёт «слепок» памятиУдобно использовать в связке с модулем BМожно быстро* проверить идею или теорию

Надо «допиливать»Скорость работы в связке с B

Типы данных

Test::LeakTraceНаходит утечки памяти для занного «scope»

Удобный интерфейс

Быстро работает

Создан для тестирования кода

Сложно понять вывод

Devel::CycleПоиск циклических ссылок

Умеет находить циклические ссылки Медленно работает с большим количеством ссылок

Devel::Size && Devel::SizeMeПодсчёт размера структур и данных

Devel::SizeMe

Наличие графического интерфейса

Неюзабельный графический интерфейсНе собирается >Perl-5.18.4Приходится «патчить» в ручную, чтобы его запустить

Devel::Size

Простой интерфейс

Devel::Size && Devel::SizeMeПодсчёт размера структур и данных

Devel::SizeMe

Наличие графический интерфейс

Неюзабельный графический интерфейсНе собирается >Perl-5.18.4Приходится патчить в ручную, чтобы его запустить

Devel::Size

Простой интерфейс

Devel::MATПолный и всесторонний анализ памяти perl

Делает heap dump

Есть графический интерфейс: App::Devel::MAT::Explorer::GTK

Есть готовые утилиты анализа

Слабая документация

Devel::FindRefПоможет найти все объекты ссылающиеся на переменную

Быстро работает – XS

Информативный вывод

Не собирается >Perl-5.18.4

Why is all the RAM gone? (LPW2013) - Paul Evans

Perl memory use(LPW2013) - Tim Bunce

Доклады

Евгений Вансевичe.vansevich@corp.mail.ruhttps://github.com/kadavr