Next | Tricks of the Wizards | 188 |
Devel::DProf is complicated and hard to use
But building a simple profiler is easy
package Devel::Profile;
sub DB::DB { my ($package, $file) = caller(); my ($subroutine) = (caller(1))[3]; return if $subroutine eq '(eval)'; $subroutine = "<$file>" unless defined $subroutine; ++$count{$subroutine}; }
END { for $subr (sort {$count{$b} <=> $count{$a}} (keys %count)) { printf STDERR "%8d %s\n", $count{$subr}, $subr; } }
Output:
798 main::page 66 </usr/local/bin/perldoc> 57 Exporter::import 49 main::check_file 39 main::minusf_nocase (etc.)
Next | Copyright © 2003 M. J. Dominus |