Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: wishlist: static analysis of perl modules

by valdez (Monsignor)
on Feb 23, 2003 at 16:56 UTC ( [id://237906]=note: print w/replies, xml ) Need Help??


in reply to wishlist: static analysis of perl modules

CPAN is your friend :) I've found these modules:

  • Devel::DProf
    The Devel::DProf package is a Perl code profiler. This will collect information on the execution time of a Perl script and of the subs in that script. This information can be used to determine which subroutines are using the most time and which subroutines are being called most often. This information can also be used to create an execution graph of the script, showing subroutine relationships.
  • Devel::Profiler
    This module implements a Perl profiler that outputs profiling data in a format compatible with dprofpp, Devel::DProf's profile analysis tool. It is meant to be a drop-in replacement for Devel::DProf.
  • Devel::AutoProfiler by samtregar
    The profiler module is completely automatic in its basic mode. You simply "use" the module at the top of you main script. The module will then automatically instrument all subroutines in the code, profile each subroutine call during the execution of the script, and print out a report of usage.

There also some nodes here at the Monastery:

Ciao, Valerio

update: added some links. For the women part look at Sex Tips For Geeks: How To Be Sexy and for the ironing: Extreme Ironing :)))

  • Comment on Re: wishlist: static analysis of perl modules

Replies are listed 'Best First'.
Re: Re: wishlist: static analysis of perl modules
by dash2 (Hermit) on Feb 23, 2003 at 17:04 UTC
    Hi Valerio

    yes, I know about DProf, but I was looking for static analysis. DProf requires you to run the code, it then profiles it and you can look at e.g. which subroutines are slowest. It can also print out a subroutine call tree, however, I don't know that there are any ways of limiting this call tree to only show "my" code (not code from external modules I am using.)

    While I'm on the subject, one more wish I forgot: use everywhere; - a way to import stuff to all my namespaces. Useful for quick development, e.g. use everywhere 'Data::Dumper', qw/Dumper/;

    dave hj~

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://237906]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (6)
As of 2024-04-19 08:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found