
Jasmine
Administrator
Jan 19, 2001, 11:52 AM
Post #1 of 1
(2915 views)
|
How do I profile my Perl programs?
|
Can't Post
|
|
(From the Perl FAQ) How do I profile my Perl programs? You should get the Devel::DProf module from CPAN, and also use Benchmark.pm from the standard distribution. Benchmark lets you time specific portions of your code, while Devel::DProf gives detailed breakdowns of where your code spends its time. Here's a sample use of Benchmark:
use Benchmark; @junk = `cat /etc/motd`; $count = 10_000; timethese($count, { 'map' => sub { my @a = @junk; map { s/a/b/ } @a; return @a }, 'for' => sub { my @a = @junk; local $_; for (@a) { s/a/b/ }; return @a }, }); This is what it prints (on one machine--your results will be dependent on your hardware, operating system, and the load on your machine):
Benchmark: timing 10000 iterations of for, map... for: 4 secs ( 3.97 usr 0.01 sys = 3.98 cpu) map: 6 secs ( 4.97 usr 0.00 sys = 4.97 cpu)
|