我正在编写代码来计时 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 是对该数组中的不同值求和的函数。