簡體   English   中英

system_clock返回負時間c ++

[英]system_clock returning negative time c++

我正在編寫代碼來計時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(); end2 = std::chrono::system_clock::now(); 在那之后,您的代碼應該完全按照您的預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM