c++ - system_clock 返回负时间 c++

标签 c++ time system-clock

我正在编写代码来为 for 循环计时,我使用了教授给我的代码,它使用了 system_clock。 我的问题是,在我计时的一个 for 循环中,它返回负时间。有时它是不同的数字,但总是负数。

代码如下:

std::chrono::time_point<std::chrono::system_clock> start2, end2;
int sum2 = 0;
std::cout << "Sum on reference ";
start2 = std::chrono::system_clock::now();
for(int i = 0; i < 10000; i++)
{
    sum2 = secondSum(dr);
}
end2 - std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds2 = end2 - start2;
std::cout << "sum: " << sum2 << std::endl;
std::cout << "Elapsed time for data processing on reference: " << elapsed_seconds2.count() << "s\n";

其中 dr 是对内部填充数组的结构的引用,而 secondSum 是对该数组内的不同值求和的函数。

最佳答案

您需要将 end2 - std::chrono::system_clock::now(); 行更改为 end2 = std::chrono::system_clock::now(); 。之后,您的代码应该完全按照您的预期工作。

关于c++ - system_clock 返回负时间 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43245002/

相关文章:

database - 表示夏令时规则的最佳方式是什么?

performance - 在 Julia 中更快地读取 CSV 文件

amazon-web-services - 在使用 Amazon 的 EC2 服务来对抗时钟漂移时,我应该使用 NTP 服务器吗?

c++ - 使用没有引用参数名称的类重载复制赋值运算符

excel - 电子表格中应如何显示持续时间?

c++ - 未定义的 vtable 引用

c - REALTIME 时钟是否支持闰秒?

c# - 多系统时钟

c++ - g++ undefined reference 虽然包含所有文件

c++ - 界面与组合