加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

高精度gettimeofday()函数用法

发布时间:2020-12-15 23:39:12 所属栏目:大数据 来源:网络整理
导读:在perl中可以通过use函数引入你需要使用的函数名称,以下是此次会用到的函数。 #引用时间函数,包括sleep函数,gettimeofday 函数,tv_interval时间差函数 use Time::HiRes qw(sleep gettimeofday tv_interval) ; 1. gettimeofday 函数用法 gettimeofday 函

在perl中可以通过use函数引入你需要使用的函数名称,以下是此次会用到的函数。

#引用时间函数,包括sleep函数,gettimeofday 函数,tv_interval时间差函数
use Time::HiRes qw(sleep gettimeofday tv_interval);

1. gettimeofday 函数用法

gettimeofday 函数返回的是从世纪元时间Epoch开始计算起的秒数,可精确至微秒,Epoch是指定为1970年1月1日凌晨零点零分零秒。下面是gettimeofday函数的几种用法:

#分别返回秒和微秒两部份
my ($s,$usec) = gettimeofday();

#返回精度为微秒的总秒数
my $full_time = gettimeofday();

#返回引用地址
my $time1 = [gettimeofday];

print "$s: $sn";
print "$usec: $usecn";

print "$full_time: $full_timen";

print "$time1:$time1n";

运行结果:

$s: 1511095372 (秒)
$usec: 970000  (微秒)
$full_time: 1511095372.97
$time1:ARRAY(0x3fb440)

2. 求时间差用法

和gettimeofday相关的求时间差方法有以下两种:

#求时间间隔方法一,使用tv_interval方法,参数是引用类型

print "methon onen";

#当前时间,返回值是引用
my $time1 = [gettimeofday];
sleep(1);
my $time2 = [gettimeofday];

print "$time1:$time1n";
print "$time2:$time2n";

my $interval_time = tv_interval($time1,$time2);
print "$interval_time:",round($interval_time),"n";#round 四舍五入


print "methon twon";

#求时间间隔方法二,做减法
my $t1 = gettimeofday();
sleep(1);
my $t2 = gettimeofday();

print "$t1:$t1n";
print "$t2:$t2n";

my $interval =$t2 - $t1;
print "$interval_time:",round($interval),"n";#round 四舍五入

运行结果:

methon one
$time1:ARRAY(0x54b440)
$time2:ARRAY(0x5ae588)
$interval_time:1

methon two
$t1:1511095648.5815
$t2:1511095649.58101
$interval_time:1

更详细可以参考文档:http://perldoc.perl.org/Time/HiRes.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读