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

时间:2016-03-16 17:19:28

标签: c++

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

double start_s=clock();
// my program here
double stop_s=clock();
cout << "time: " << (stop_s) << endl;
我得到了0。 我究竟做错了什么? 顺便说一句,我正在使用(并且必须使用,大学项目)VS2010,所以chrono不是一个选项。

1 个答案:

答案 0 :(得分:12)

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

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衡量执行时间的tutorial

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