Time::HiRes呈现更加怪异: downloading http://london1.linode.com/100MB-london.bin 100MB-london.bin 1270111030.61801 1270111030 http://london1.linode.com/100MB-london.bin 1618.09080637961 downloading http://newark1.linode.com/100MB-newark.bin 100MB-newark.bin
两次取得的整数部分相同,但是第一次取得的没有小数部分,而第二次有。 也曾怀疑是alarm倒的鬼,去掉alarm后问题依旧。 在 2010年4月1日 下午4:43,Achilles Xu <[email protected]>写道: > 输出: > > $ perl test_linode.pl > downloading http://london1.linode.com/100MB-london.bin 100MB-london.bin > 1270110047 1270110047 > Illegal division by zero at test_linode.pl line 30. > > 在 2010年4月1日 下午4:38,Achilles Xu <[email protected]>写道: > > 测试代码: >> >> >> use LWP::Simple qw(getstore $ua); >> >> my @urls = ( >> "http://london1.linode.com/100MB-london.bin", >> "http://newark1.linode.com/100MB-newark.bin", >> "http://atlanta1.linode.com/100MB-atlanta.bin", >> "http://dallas1.linode.com/100MB-dallas.bin", >> "http://fremont1.linode.com/100MB-fremont.bin" >> ); >> >> my $timeout = 120; >> $ua->default_header('Range' => 'bytes=0-1000000'); >> for my $url (@urls) { >> my ($file) = $url =~ m{/([^/]+)$}; >> my $atime = time; >> eval { >> local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n >> required >> >> alarm $timeout; >> my $cmd = "wget $url"; >> print "downloading $url $file\n"; >> getstore($url, $file); >> >> alarm 0; >> }; >> my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, >> $atime,$mtime,$ctime,$blksize,$blocks) >> = stat($file); >> my $btime = time; >> print $btime, "\t", $atime, "\n"; >> print $url, "\t" . ($size/1000/($btime - $atime)) . "\n"; >> if ($@) { >> die unless $@ eq "alarm\n"; # propagate unexpected >> errors >> >> # timed >> out >> >> } >> else { >> # >> didn't >> >> } >> } >> >> 下载文件会需要几秒,但是几秒过去了,atime和btime是一样的,导致后面报出除0错误。 >> >> 普通笔记本,联想的,intel t4400。 >> >> 等会试试Time::HiRes有没有问题。 >> >> -- >> --------------------------- >> Achilles Xu >> >> > > > -- > --------------------------- > Achilles Xu > > -- --------------------------- Achilles Xu -- 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
