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