Clock_realtime
代表机器上可以理解为当前的我们所常看的时间,其当time-of-day 被修改的时候而改变,这包括NTP对它的修改(NTP:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。)
CLOCK_MONOTONIC
代表从过去某个固定的时间点开始的绝对的逝去时间,它不受任何系统time-of-day时钟修改的影响,如果你想计算出在一台计算机上不受重启的影响,两个事件发生的间隔时间的话,那么它将是最好的选择。
clock_gettime( ) 提供了纳秒的精确度,给程序计时可是不错哦;
函数的原型如下:
int clock_gettime(clockid_t clk_id, struct timespect *tp);
clockid_t clk_id用于指定计时时钟的类型,对于我们Programmr以下三种比较常用:
CLOCK_REALTIME, a system-wide realtime clock.
CLOCK_PROCESS_CPUTIME_ID, high-resolution timer provided by the CPU for each process.
CLOCK_THREAD_CPUTIME_ID, high-resolution timer provided by the CPU for each of the threads.
CLOCK_REALTIME, a system-wide realtime clock.
CLOCK_MONOTONIC
CLOCK_PROCESS_CPUTIME_ID, high-resolution timer provided by the CPU for each process.
CLOCK_THREAD_CPUTIME_ID, high-resolution timer provided by the CPU for each of the threads.
struct timespect *tp用来存储当前的时间,其结构如下:
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
代码
#include <iostream>
#include <time.h>
using namespace std;
timespec diff(timespec start, timespec end);
int main()
{
timespec time1, time2;
int temp;
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1);
for (int i = 0; i< 242000000; i++)
temp+=temp;
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2);
cout<<diff(time1,time2).tv_sec<<":"<<diff(time1,time2).tv_nsec<<endl;
return 0;
}
timespec diff(timespec start, timespec end)
{
timespec temp;
if ((end.tv_nsec-start.tv_nsec)<0) {
temp.tv_sec = end.tv_sec-start.tv_sec-1;
temp.tv_nsec = 1000000000+end.tv_nsec-start.tv_nsec;
} else {
temp.tv_sec = end.tv_sec-start.tv_sec;
temp.tv_nsec = end.tv_nsec-start.tv_nsec;
}
return temp;
}
分享到:
相关推荐
数据分析的程序 mmax - Matrix maximum value. mmin - Matrix minimum value. mmfind- Intersection of Two Matrices. mmono- Test for monotonic vector.
今天写代码,突然想知道程序运行时间,于是我在代码里包含了time头文件,include没有标红,但是在出现CLOCKS_PER_SEC的地方却标了红,显示未定义标识符CLOCKS_PER_SEC 我寻思,这不对劲,time文件里不定义着吗?...
对试件单调加载试验(MonotonicLoadingTesting1)数据进行录入和分析 %(1)从excel中录入试件单调加载数据 %(2)数据分析(屈服点、峰值点和极限点) %(3)关于作图后续可以加
用实时计时器替换 Linux 计时器 - 避免在 Xenomai 中切换模式(SHA:d3aa73b8cbfab8d5709d7a3a3310cd22f330118d)使用 CLOCK_HOST_REALTIME 代替 CLOCK_MONOTONIC lib Posix 的 Xenomai 替换了 Posix Linux: ://....
粗时间用于测量时间的Rust板条箱,其重点是速度。...特别是,CLOCK_MONOTONIC_COARSE用于在Linux系统上检索时钟值,并且转换避免了在非Intel系统上运行缓慢的操作。 系统调用的数量可以保持最少。 “最近的时间戳”总是
更改使用的库 - Xenomai POSIX、cflags 和 ldflags 更新:使用 Xenomai lib 而不是 Linux CLOCK_MONOTONIC 对我们的应用程序至关重要,更改建议在: ://www.xenomai.org/pipermail/xenomai/2014-September/031720 ...
getevent移植Android工具getevent到Linux,相应的文件位于system/core/toolbox中。修改步骤如下:getevent.c引用的头文件'input.h-labels.h'是用脚本'generate-...添加头文件'time.h',解决CLOCK_MONOTONIC定义问题,
python库,解压后可用。 资源全名:monotonic-1.1-py2.py3-none-any.whl
这些文件主要讨论了Linux内核中的时间子系统,包括时钟源...timekeeper结构用于组织与时间相关的数据,包括当前时间(xtime)、单调时间(monotonic time)、原始单调时间(raw monotonic time)和启动时间(boot
JEDEC JESD260:2021 Replay Protected Monotonic Counter (RPMC) for
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
单调WOE绑定算法由John Stephen Joseph Arul Selvam开发和记录如何使用PIP安装monotonic_binning: pip install monotonic-binning (注意,早期版本中,托管在test.pypi.org但最新的版本是pypi.org ) 导入...
它与Python 2和Python 3兼容。 在Python 3.3或更高版本上, monotonic将是标准库中的别名。 在较旧的版本上,它将回退到等效的实现: 作业系统 执行 Linux,BSD,AIX 视窗 或 OS X 如果当前平台不存在合适的...
非单调迭代根的一些进展,张伟年,,寻找非单调函数的迭代根一直被认为是一个困难的问题。80年代张景中、杨路讨论了一类叫做PM函数的非单调函数的连续迭代根。对这类�
官方离线安装包,亲测可用
官方离线安装包,亲测可用
JEDEC JESD260:2021 Replay Protected Monotonic Counter (RPMC) for Serial Flash Devices - 完整英文电子版(27页).pdf
经典书籍,无线通信中资源分配优化。非常好,值得推荐。
ISMONOTONIC(X, 0) 与 ISMONOTONIC(X) 相同。 ISMONOTONIC(X, [], 'INCREASING') 同上,但只返回 true 当 X 单调递增时。 ISMONOTONIC(X, [], 'DECREASING') 同上,但只返回 true 当 X 单调递减时。 ISMONOTONIC...
优化已在最近的通信设计和网络系统中广泛使用。这项工作的主要障碍在于实际产生的许多优化问题的不凸性系统。为了解决此问题,我们注意到在通信和网络系统中遇到的大多数非凸问题都表现出单调性或隐藏的单调性结构。...