Finding out what is making your Perl code slow with profilingYou can use the debugging module Devel: :DProf to profile your Perl code. This will give you a list of the functions that take the most time to execute.
First make sure you have the module Devel::DProf installed. On recent versions of perl is should be installed as default.
Run your app as follows:
perl -d:DProf yourcode.pl [your args]
This will create a file called 'tmon.out' in your current directory.
dprofpp and you will see output similar to this (but with much more info):
%Time ExclSec CumulS #Calls sec/call Csec/c Name 100.00 - -0.000 1 - - main::someFunc 0.00 - -0.000 1 - - strict::bits 0.00 - -0.000 1 - - strict::import 0.00 - -0.000 1 - - main::BEGIN
Now you know where to look in order to speed up your code.
You can also view a subroutine tree using
dprofpp -T which may give you more clues about what's happening in your code.
Last updated: 06/10/2005