是否可以测量std::clock()通话的分辨率?或者这是一个无法影响观察的问题吗?
我写了以下天真的基准:
#include <ctime>
#include <iostream>
int main() {
std::clock_t initial = std::clock();
std::clock_t current;
while (initial == (current = std::clock()));
std::cout << "Initial: " << initial << std::endl;
std::cout << "Current: " << current << std::endl;
std::cout << "Precision: " << (static_cast<double>(current - initial) / CLOCKS_PER_SEC) << "s" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
我跑了几百次,总是输出0.01s.
我的问题是:
clock()吗?你可以,某种程度上。像你正在做的事情是一个很好的初步近似。但我不确定它有多大用处:它决定了分辨率,但它仍然没有告诉你任何有关准确性的信息;例如,在 Windows 下,clock它非常不准确,以至于无法使用。
| 归档时间: |
|
| 查看次数: |
557 次 |
| 最近记录: |