不是你抄下我,就是我抄下你的啦。。。 ;-)

smallfish.xy wrote:
> 怎么看上去跟python里的profile模块差不多的啊
> --
> blog: http://hi.baidu.com/smallfish_xy
>
>
> 2009/8/26 agentzh <[email protected] <mailto:[email protected]>>
>
>     2009/8/26 Mike.G <[email protected] <mailto:[email protected]>>
>
>         我刚去看了那篇文章,有些地方不是太明白。
>         比如说: inclusive times
>         这个时间到底怎么理解呢?
>
>
>     通过一个小例子来解释它是最容易的 :) 记得好几年前我也曾犯过迷糊,哈哈!
>
>     考虑下面的程序:
>
>     sub a { for (1..100000) { print 'a' x 100 }; b() }
>     sub b { for (1..100000) { print 'b' x 100 } }
>     a();
>
>     将之保存为 test.pl,然后用 DProf 去运行:
>
>     perl -d:DProf test.pl
>
>     再观察 exclusive 输出:
>
>     $ dprofpp
>     Total Elapsed Time = 0.089996 Seconds
>     User+System Time = 0.079996 Seconds
>     Exclusive Times
>     %Time ExclSec CumulS #Calls sec/call Csec/c Name
>     50.0 0.040 0.040 1 0.0400 0.0400 main::b
>     50.0 0.040 0.080 1 0.0400 0.0800 main::a
>
>     这里虽然函数 a 调用了函数 b,但这里的 a 函数的时间是不包括它自己调
>     用的其他函数,比如 b 的时间的,即二者各占一半(50.0%)。
>
>     再看看 inclusive 输出:
>
>     $ dprofpp -I
>     Total Elapsed Time = 0.089996 Seconds
>     User+System Time = 0.079996 Seconds
>     Inclusive Times
>     %Time ExclSec CumulS #Calls sec/call Csec/c Name
>     100. 0.040 0.080 1 0.0400 0.0800 main::a
>     50.0 0.040 0.040 1 0.0400 0.0400 main::b
>
>     这里 a 函数的时间就包括了其自身以及它调用的函数 b 的时间了,我们看
>     到,达到 100%,呵呵。而 b 函数因为未调用其他函数,故时间比例无变
>     化,依旧是 50.0% :)
>
>     Happy profiling!
>     -agentzh
>
>
>
>
>


-- 
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。
 要在此论坛发帖,请发电子邮件到 [email protected]
 要退订此论坛,请发邮件至 [email protected]
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复