The following module was proposed for inclusion in the Module List:

  modid:       Devel::Profiler
  DSLIP:       adpfp
  description: a Perl profiler compatible with dprofpp
  userid:      SAMTREGAR (Sam Tregar)
  chapterid:    3 (Development_Support)
  communities:
    none yet

  similar:
    Devel::DProf, Devel::AutoProfiler

  rationale:

    DESCRIPTION

    This module implements a Perl profiler that outputs profiling data
    in a format compatible with C<dprofpp>,
    L<Devel::DProf|Devel::DProf>'s profile analysis tool. It is meant to
    be a drop-in replacement for Devel::DProf.

    RATIONAL

    I created this module because I desperately needed a profiler to
    optimize a large Apache/mod_perl application. Devel::DProf, however,
    insisted on seg-faulting on every request. I spent many days trying
    to fix Devel::DProf, but eventually I had to admit that I wasn't
    going to be able to do it. Devel::DProf's virtuoso creater, Ilya
    Zakharevich, was unable to spend the time to fix it. Game over.

    My next stop brought me to Devel::AutoProfiler by Greg London. This
    module is a pure-Perl profiler. Reading the code convinced me that
    it was possible to write profiler without going the route that led
    to Devel::DProf's extremely difficult code. Devel::AutoProfiler is a
    good module but I found several problems.

    First, Devel::AutoProfiler doesn't output data in the format used
    by C<dprofpp>. I like C<dprofpp> - it has every option I could want
    and the C<tmon.out> format is well designed and concise. In
    contrast, Devel::AutoProfiler stores its profiling data in memory
    and then dumps its data to STDOUT all in one go.

    Second, Devel::AutoProfiler is a heavy user of memory. It creates
    an entirely new code block with eval(STRING) for each subroutine it
    instruments. Also, storing profile data in memory could result in
    significant problems on long runs.

    Finally, Devel::AutoProfiler has some (seemingly) arbitrary
    limitations. It won't profile subroutines in Data::Dumper or
    Time::HiRes and if a subroutine begins with "__" it won't be
    profiled either.

    Thus, Devel::Profiler was born - an attempt to create a
    dprofpp-compatible profiler that avoids Devel::DProf's most
    debilitating bugs.

  enteredby:   SAMTREGAR (Sam Tregar)
  enteredon:   Thu May 16 20:59:20 2002 GMT

The resulting entry would be:

Devel::
::Profiler        adpfp a Perl profiler compatible with dprofpp      SAMTREGAR


Thanks for registering,
The Pause Team

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=4b100000_aea71d8f7e05ca24&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=4b100000_aea71d8f7e05ca24&SUBMIT_pause99_add_mod_insertit=1

Reply via email to