欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux时间间隔计算

程序员文章站 2022-06-09 14:41:20
...

前言

项目中需要达到一定的时间要求指标 所以需要将时间间隔计算一下

函数

1、time()

   #include <time.h>
   time_t time(time_t *t);

主要的用法是两种
time_t begin = time(NULL)
或者
time_t end;
time(&end)
返回当前时间到 Epoch, 1970-01-01 00:00:00 +0000 (UTC)的秒数
错误时返回-1
精度:秒级

2、clock()

   #include <time.h>
   clock_t clock(void);

clock_t begin = clock()
usleep(10000);
clock_t end = clock();

linux时间间隔计算
真正的时间间隔是它除以CLOCKS_PER_SEC来得出时间秒级
但是从图可知 在linux系统中其受cpu影响太多 对于时间间隔的计算并不准确
而且从官方的man手册可知 它推荐下面的函数计算时间间隔
linux时间间隔计算

3、clock_gettime

 #include <time.h>
 int clock_gettime(clockid_t clk_id, struct timespec *tp);
  struct timespec {
               time_t   tv_sec;        /* seconds */
               long     tv_nsec;       /* nanoseconds */
           };

一般情况下 clk_id设置成CLOCK_REALTIME就足以应付了
这种情况最高精度是纳秒级 但实际情况中毫秒就足够了
tv_sec*1000+tv_nsec/1000000

相关标签: 时间间隔