问题标签 [chrono]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1093 浏览

boost - 使用 boost::chrono 而不链接到它

boost::chrono文档说

当定义 BOOST_CHRONO_HEADER_ONLY 时,lib 是仅标头。

即使定义了这个,我也会收到链接器错误:

这是文档错误吗?还是chrono真的支持仅使用标头?

0 投票
5 回答
53751 浏览

c++ - std::system_clock 和 std::steady_clock 之间的区别?

std::system_clock和 和有什么不一样std::steady_clock?(说明不同结果/行为的示例案例会很棒)。

std::system_clock如果我的目标是精确测量函数的执行时间(如基准测试) ,那么std::steady_clock和之间的最佳选择是std::high_resolution_clock什么?

0 投票
2 回答
3456 浏览

c++ - 改进一个基于

我有以下 Timer 类来简化获取自一个纪元以来经过的时间:

我有一种感觉,通过使 Timer::time_elapsed() 成为模板函数,我的课程过于复杂,并且理想情况下希望将其用法简化为以下内容:

0 投票
2 回答
3337 浏览

c++ - 为什么 chrono 有自己的命名空间?

到目前为止,我在 C++ 标准库中看到的所有其他内容都在std命名空间中。如果我使用的东西std::chrono通常超过每行 80 个字符的限制 - 这不是问题,只是不方便。

所以这是我的简单问题:为什么 chrono 标头有自己的命名空间?

0 投票
1 回答
2979 浏览

c++ - std::chrono 超类型,函数参数传递

我有

我想将它传递给使用通用类型的时间点的函数。我不想指定使用的时钟的分辨率或类型。

我试过使用

但没有成功。因为显然 std::chrono::time_point 不是一种类型。

0 投票
1 回答
1464 浏览

c++ - boost chrono endTime - startTime 在 boost 1.51 中返回负数

当我减去 endTime - startTime 时,我的 macbook pro 上的 boost chrono 库 vs1.51 返回负时间。如果您打印时间点,您会看到结束时间早于开始时间。这怎么可能发生?

我尝试了不同的时钟,但没有区别。

任何帮助,将不胜感激!

编辑:忘记添加输出:

现在时间:自启动后 1 纳秒

开始时间:自启动以来 140734799802912 纳秒

结束时间:自启动以来 140734799802480 纳秒

总解析时间:-432纳秒平均每次迭代解析时间:0 毫秒

0 投票
1 回答
402 浏览

c++ - 在没有单调时钟的系统上是否不可能实现一致的实现?

<chrono>头定义steady_clock了表示单调时钟的类 - 即,now()永远不会随着物理时间的增加而减少。虽然这个类没有被标记为可选,所以如果实现不能实现它,因为它运行在一个没有单调时间源的系统上,会发生什么?

看一下libstdc++源码,在_GLIBCXX_USE_CLOCK_MONOTONIC没有被定义的情况下,steady_clock简单定义为:

system_clock虽然不一定是稳定的,所以这可能(并且可能会)打破steady_clock.

在没有单调时间源的系统上是否不可能实现 C++11 的一致实现?为什么steady_clock不像类型一样选择可选intX_t

0 投票
2 回答
3716 浏览

c++ - std::chrono::high_resolution_clock 不准确?

所以我试图使用 std::chrono::high_resolution_clock 来计算执行需要多长时间。我想你可以找到开始时间和结束时间之间的差异......

为了检查我的方法是否有效,我编写了以下程序:

问题是,它只是精确地输出 3000 毫秒,而实际上显然不是这样。

在较短的问题上,它只输出 0ms ......我做错了什么?

编辑:如果有任何用处,我正在使用带有 -std=c++0x 标志的 GNU GCC 编译器

0 投票
2 回答
8991 浏览

c++ - 关于的几个问题C++ 11 中的标头

<chrono>我对C++ 11 中的新标头有几个问题。使用 Windows 7、Visual Studio 2012。

查看示例http://en.cppreference.com/w/cpp/chrono

可能的输出

  1. 我注意到示例使用std::chrono::system_clock::now();是否意味着它只能用于测量经过的时间而不是 CPU 时间???如果我想测量 CPU 时间,我应该使用什么时钟?
  2. 请注意,elapsed time: 3s输出四舍五入为整数。有没有办法让它更颗粒化?
0 投票
1 回答
3264 浏览

c++ - std::chrono::time_point 设置为现在

我对这些库还是很陌生,我可以在 std::chrono 上找到的文档对我不起作用。

我正在尝试实现一个包含时间戳的对象容器。所有对象都将按从最近到最近的顺序存储,我决定尝试使用 std::chrono::time_point 来表示每个时间戳。处理数据的线程将定期唤醒,处理数据,查看何时需要再次唤醒,然后在这段时间内休眠。

我的印象是上面的声明使用了毫秒精度的替代时钟。

下一步是将 _nextWakeupTime 设置为现在的表示;

该行不会编译:

我知道在 Windows 系统上,stead_clock 与 system_clock 是一样的,但我不知道这里发生了什么。我知道我可以这样做:

我只是觉得这不能很好地代表我应该做什么。


同样,实例化给定时钟/持续时间的 time_point 对象并将其设置为等于现在的最佳方法是什么?