On Wed, Jul 18, 2007 at 10:17:00AM +0000, JeeBee wrote:
> Thanks Paul, I should profile of course, should have thought about that.
>
> I tried the below, but it's not quite clear what this means to me.
> When I run with "./analyze.pl foo bar" the execution time is fast, so the
> problem is not starting up/exiting of Perl, and I conclude it must be
> inside the script somwhere.
>
> DirHandle::BEGIN takes only 0.01 seconds, so that's not it either.
> I don't see the regular expressions anywhere, unfortunately.
> Is there a way to change that?
>
> Thanks
>
> $ perl -d:DProf ./analyze.pl traplas-example output
> ...
> $ dprofpp
> Total Elapsed Time = 1.109888 Seconds
> User+System Time = 1.039888 Seconds
> Exclusive Times
> %Time ExclSec CumulS #Calls sec/call Csec/c Name
> 0.96 0.010 0.010 2 0.0050 0.0050 DirHandle::BEGIN
> 0.00 - -0.000 1 - - DirHandle::DESTROY
> 0.00 - -0.000 1 - - strict::bits
> 0.00 - -0.000 1 - - strict::import
> 0.00 - -0.000 1 - - Symbol::BEGIN
> 0.00 - -0.000 1 - - Symbol::gensym
> 0.00 - -0.000 1 - - DirHandle::read
> 0.00 - -0.000 1 - - DirHandle::open
> 0.00 - -0.000 2 - - Exporter::import
> 0.00 - -0.000 1 - - DirHandle::new
> 0.00 - 0.010 2 - 0.0050 main::BEGIN
I'm not very familiar with the profiler, but at a guess, I would say
that the profiler only counts time in subroutines, and that the majority
(all?) of your program is not in a subroutine, and over 99% of the
execution time of your program is in that code.
I see the following options:
- split your code into subroutines to gain a better understanding of
what is taking how much time
- install Devel::Cover and run
$ perl -MDevel::Cover ./analyze.pl traplas-example output
$ cover
to gain a finer grained but less accurate profiling report
- go back to guessing - you were probably right ;-)
- post your code so that other people can guess too
- buy more hardware
--
Paul Johnson - [EMAIL PROTECTED]
http://www.pjcj.net
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/