作者liyih ()
看板Perl
标题Re: [问题] Time::HiRes的问题...
时间Wed Aug 27 15:07:34 2008
※ 引述《johnion (阜可人言)》之铭言:
: 先附上一小段范例程式码
: 引用於http://perldoc.perl.org/Time/HiRes.html#EXAMPLES
: clock example范例
: use Time::HiRes qw( clock );
: my $clock0 = clock();
: ... # Do something.
: my $clock1 = clock();
: my $clockd = $clock1 - $clock0;
: 小弟发现在Time::HiRes里面的clock()
: 好像不会去计算system call所执行的时间...
: EX:
: my $clock0 = clock();
: system("perl abc.pl"); #abc.pl用for做999999次回圈
: my $clock1 = clock();
: my $clockd = $clock1 - $clock0;
: print $clockd出来的时间会是 0
: 请问各位大大,
: 是我用法错误?
: 还是这个modules本身就不会去算system的时间?
: 另外还有没有其他方法可以计算程式执行的时间? ues Config?
: 麻烦各位前辈帮小弟作个解答,谢谢!
可以使用 gettimeofday、tv_interval 看看。
#!/usr/bin/perl -w
use Time::HiRes qw(gettimeofday tv_interval);
my $t0 = [gettimeofday];
system("sleep", "2");
my $elapsed = tv_interval ( $t0 );
print $elapsed, "\n";
--------------------------------------------------
# time perl t.pl
2.003056
real 0m2.028s
user 0m0.008s
sys 0m0.012s
参考文件
http://search.cpan.org/~jhi/Time-HiRes-1.9715/HiRes.pm
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.64.130
1F:推 johnion:喔喔!会用了...感谢前辈大帮忙回答...︿︿ 08/27 15:31