IBM AIX std::clock()?
IBM AIX std::clock()?
我在 IBM AIX 中执行以下代码。
int main(void)
{
printf( "startn");
double time1 = (double)clock(); /* get initial time */
time1 = time1 / CLOCKS_PER_SEC; /* in seconds */
boost::this_thread::sleep_for(boost::chrono::seconds(5));
/* call clock a second time */
double time2 = (((double)clock()) / CLOCKS_PER_SEC);
double timedif = time2 - time1;
printf( "The elapsed time is %lf seconds, time1:%lf time2:%lf CLOCKS_PER_SEC:%ldn",
timedif));
}
结果是:
2018-04-07 09:58:37 开始
2018-04-07 09:58:42 运行时间为 0.000180 秒,time1:0.000000 时间2:0.000181 CLOCKS_PER_SEC:1000000
我不知道为什么经过的时间是 0.000180(为什么不是 5(?
根据手册
返回程序消耗的处理器时间。
它是程序消耗的CPU时间,而不是物理时间。休眠程序不占用 CPU 时间。因此,用原始的话来说,它是从main
到sleep
的时间间隔加上sleep
之后直到返回的时间间隔。
如果你想获得系统/实时,请查看std::chrono::system_clock
类。
#include <chrono>
using std::chrono::system_clock;
system_clock::time_point time_now = system_clock::now();
相关文章:
- 使用std::multimap迭代器创建std::list
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 从持续时间构造std::chrono::system_clock::time_point
- std::具有相同基类的类的变体
- std::向量与传递值的动态数组
- 使用std::vector的OpenCL矩阵乘法
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- std::condition_variable::wait()如何评估给定的谓词
- 如何获取std::result_of函数的返回类型
- std::原子加载和存储都需要吗
- 将对象移动到std::shared_ptr
- IBM AIX std::clock()?
- 为什么常量CLOCKS_PER_SEC不需要用 std:: 命名,但 <ctime> clock() 和 clock_t 可以呢?
- std::clock() and CLOCKS_PER_SEC
- 测量' std::clock() '的分辨率
- CLOCKS_PER_SEC与std::clock()的结果不匹配
- std::clock()在Windows、Mac和Linux上可靠吗?