SlideShare a Scribd company logo
Devel::NYTProf
     Chia-liang Kao
    clkao@clkao.org
     Shibuya.pm#11
自己
介紹
高
嘉良
台湾
 人
Devel::NYTProf
日本語
日本語
不會
Devel::NYTProf
Perl
黑客
Hate


慢

 
“Always profile
before optimize”
Devel::DProf
% perl -d:DProf foo.pl
% dprofpp
% dprofpp
Total Elapsed Time = 2.563600 Seconds
  User+System Time = 0.703600 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c      Name
 6.96   0.049 0.067      15   0.0033 0.0045      Prophet::Replica::sqlite::BEGIN
 6.82   0.048 0.049      41   0.0012 0.0012      Mouse::Meta::Method::Constructor::
                                                 generate_constructor_method_inline
 5.40   0.038   0.038    464   0.0001 0.0001     Params::Validate::_validate
 4.97   0.035   0.030     86   0.0004 0.0003     Mouse::Meta::Method::Accessor::gen
                                                 erate_accessor_method_inline
 4.69   0.033   0.043    555   0.0001 0.0001     Prophet::Replica::sqlite::get_reco
                                                 rd_props
 4.12   0.029   0.029    166   0.0002   0.0002   DBI::st::fetchall_arrayref
 3.84   0.027   0.035    412   0.0001   0.0001   DateTime::Locale::_registered_id
 3.55   0.025   0.077     90   0.0003   0.0009   Mouse::Meta::Attribute::create
 2.84   0.020   0.020      6   0.0033   0.0033   Mouse::Meta::Attribute::BEGIN
 2.84   0.020   0.154      1   0.0199   0.1537   App::SD::Util::BEGIN
 2.56   0.018   0.018    501   0.0000   0.0000   Scalar::Util::blessed
 2.27   0.016   0.055    449   0.0000   0.0001   DateTime::Locale::_register
 1.42   0.010   0.087   4454   0.0000   0.0000   Mouse::Meta::Method::Accessor::__A
                                                 NON__
 1.42   0.010   0.010      1   0.0100 0.0100     Config::TIEHASH
 1.42   0.010   0.000     41   0.0002 0.0000     Mouse::Meta::Method::Constructor::
                                                 _generate_processattrs
Sub
Level
Devel::NYTProf
% perl -d:DProf foo.pl
% perl -d:DProf foo.pl
Segmentation fault.
Devel::NYTProf
Devel::NYTProf
Devel::NYTProf
    by Tim Bunce
DBI
作者
Line
Level
block
Level
使用
方法
% perl -d:NYTProf foo.pl
% nytprofhtml
Line
Level
Line
Level
Line
Level
Line
Level
Line
Level
Even
works
with
eval!
Devel::NYTProf
Devel::NYTProf
Use
it!
Last
Weekend
OSDC.TW
  台北
小籠包
Rasmus
 showed
nice
PHP

calltree
Devel::NYTProf
I
want

that
for

 Perl!
Calltree?
Devel::NYTProf
Devel::NYTProf
Devel::NYTProf
So
here
you
go
(Never
make

  a
Perl

  hacker

 jealous)
kcachegrind
% perl -d:NYTProf foo.pl
% nytprofcg
% kcachegrind nytprof
Devel::NYTProf
Devel::NYTProf
Devel::NYTProf
NYTProf
is

 more
than

    not

 crashing
DB::enable_profile();
.....
DB::disable_profile();
Per-request
 Profiling

 for
Jifty
Devel::NYTProf
Devel::NYTProf
Devel::NYTProf
Devel::NYTProf
Devel::NYTProf
Many
more

 goodies

   from

 NYTProf
cpan Devel::NYTProf


http://code.google.com/p/perl-devel-nytprof/
謝謝!

More Related Content

Devel::NYTProf