如何以毫秒为单位计算执行时间

How to calculate execution time in milliseconds

本文关键字:为单位 计算 执行时间      更新时间:2023-10-16

我对C++很陌生,我需要用 4 位数字 (X.XXX) 以毫秒为单位打印程序的执行时间 - 我尝试使用

double start_s=clock();
// my program here
double stop_s=clock();
cout << "time: " << (stop_s) << endl;

我得了0。我做错了什么?顺便说一句,我正在使用(并且必须使用大学项目)VS2010,所以时间不是一种选择。

使用chrono标头中的std::chrono::high_resolution_clock

auto started = std::chrono::high_resolution_clock::now();
DoWork();
auto done = std::chrono::high_resolution_clock::now();
std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(done-started).count();

如果您愿意,您也可以投射到std::chrono::secondsstd::chrono::nanoseconds

这是关于使用 chrono 测量执行时间的教程。


编辑:如果您的编译器不支持chrono,那么请获取更新的编译器,请查看wget源代码中的src/ptimer.c。它适用于Windows和Linux,并使用本机API。