Profiling memory usage

By Tim Bunce
Date: Saturday, 30 November 2013 12:00
Duration: 50 minutes
Target audience: Advanced
Language: English
Tags: memory

There are several ways to profile the memory usage of perl applications. None of them are both good and easy. All have subtle and not-so-subtle limitations.

In this talk I’ll explain why memory profiling is hard, survey the available techniques and modules, and demonstrate Devel::SizeMe.

Devel::SizeMe is my new perl memory profiler. It builds on the detailed memory pointer chasing done by Devel::Size by adding the creation of a data file that captures details of every item of memory within a perl interpreter (and beyond) and includes tools to visualize the items and their relationships.

I've been told it has to be seen to be believed. There are pretty visualizations, but it's early days yet and there's much that needs doing.

Attended by: Tom Hukins, David Dorward, Paul Mooney (‎moonfish‎), Andrew Ford, Barbie, Tim Bunce, James Aitken (‎LoonyPandora‎), steve mynott (‎itz‎), Helen Schuilenburg, Pete Barlow, Gianni Ceccarelli (‎dakkar‎), João Bolila, Julien Fiegehenn (‎simbabque‎), Mohammad Anwar (‎manwar‎), David Moreno (‎damog‎), Paul Evans (‎LeoNerd‎), Hugh Barnard, Jayesh Joshi (‎Josh‎), Andrew Jones, David Morrison, Jerome Eteve (‎jeteve‎), Andy Smith, Venkatesh R (‎Venki‎), Dermot Paikkos, Leo Lapworth (‎ranguard‎), Wolfgang Schemmel (‎Perleone‎), Alex Burzyński (‎AJGB‎), fabio p, Søren Lund (‎slu‎), Mauro Gilardi,



Active Securities


Bytemark Hosting

CV Library




magnum Solutions


Net-A-Porter Group


Petamem logo

Science Photo Library

      Systems Limited


Enlightened Perl Organisation

Perl6 Community

The Perl Foundation