高精度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: $s\n";
print "\$usec: $usec\n";

print "\$full_time: $full_time\n";

print "\$time1:$time1\n";

运行结果:

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

2. 求时间差用法

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

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

print "methon one\n";

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

print "\$time1:$time1\n";
print "\$time2:$time2\n";

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


print "methon two\n";

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

print "\$t1:$t1\n";
print "\$t2:$t2\n";

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

转载于:https://www.cnblogs.com/jinxiang1224/p/8468196.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值