以ns纳秒为例的linux用户空间

以ns纳秒为例的linux用户空间
评论:本文主要介绍了用于ns纳秒时间采样的linux用户空间,您需要的朋友可以参考一下。
首先,介绍
当我们测试一个程序的性能时,常常需要得到ns级的精确时间来测量程序的性能。介绍了linux下用户空间中ns级时间的获取方法。

两。用户空间中ns级时间的存取
使用clock_gettime函数,函数原型如下:

长sys_clock_gettime(clockid_t which_clock,结构timespec * TP);

1.which_clock参数解释

对clock_realtime实时:系统实时变化而变化。也就是说,从utc1970-1-1 0:0:0。在中间时间,如果系统时间是其他用户,相应的时间将相应地发生变化。

clock_monotonic:开始的那一刻起,系统启动的时间,而不是由系统时间的变化由用户受影响。

在clock_process_cputime_id时间:目前编码系统的CPU进程

clock_thread_cputime_id:花在这个线程的当前代码系统CPU时间

2.struct timespec结构
复制代码代码如下所示:
结构timespec
{
time_t tv_sec;
长整型tv_nsec;
};
示例代码如下所示:
复制代码代码如下所示:
#包括
#包括
#包括
主(空)
{
结构timespec time_start = { 0, 0 },time_end = { 0, 0 };
clock_gettime(clock_realtime,time_start);
printf(开始时间% % LLU红豆杉愈伤组织,NS
clock_gettime(clock_realtime,time_end);
printf(结果% % LLU红豆杉愈伤组织,NS
printf(时间:% % lluns 红豆杉愈伤组织
返回0;
}
编译命令:
复制代码代码如下所示:
GCC测试
运行结果:
复制代码代码如下所示:
测试
开始时间1397395863s,973618673 ns
结果1397395863s,973633297 ns
持续时间:0s 14624ns
可以看到运行结果,调用printf()函数时,需要15us。

tag:用户空间为例电脑软件nsLinux

相关内容