Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Matts (1087)

Matts
  (email not shown publicly)

I work for MessageLabs [messagelabs.com] in Toronto, ON, Canada. I write spam filters, MTA software, high performance network software, string matching algorithms, and other cool stuff mostly in Perl and C.

Journal of Matts (1087)

Wednesday May 01, 2002
03:12 PM

Devel::DProf

[ #4582 ]

Devel::DProf and dprofpp are perhaps one of the nicer things about developing performance critical applications in Perl. Other languages really don't seem to come close to the ease with which I can use this tool to locate performance bottlenecks and kill them. I often find myself seeing a particular test that runs slowly, but I know I can just type:

$ perl -Mblib -d:DProf t/slowtest.t
$ dprofpp -O 50

and soon all will be revealed. Kudos to the author (I believe it was Ilya, but it's not in the man pages).

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • I think it was Ilya; but the format of tmon.out is unfortunately not documented. May I point you at my journal entry on Apache::DProf? [perl.org]
    • Apache::DProf is ok, but it's not really a very good tool for the simple reason that you can't pin down individual handlers. Everything gets lumped into one big tmon.out per child.

      This means that you have to conduct large scale tests to get an average out of it instead, which is annoying when all you want to do is profile one run.

      The other problem (for me) is that Apache::DProf made my apache dump core on the page I was really interested in. Lacking the debugging skills needed, I left it at that. :-(

      Ov
      • Devel::DProf is a bit core dump happy anyway, so I'm not surprised it did that within Apache. It got a lot better in 5.6.1, and I think it'll get better still for 5.8. Lets hope so anyway.