我很新的C++,我需要打印我的程序的执行时间与4位(X.XXX)毫秒 - 我试图用如何计算以毫秒为单位执行时间
double start_s=clock();
// my program here
double stop_s=clock();
cout << "time: " << (stop_s) << endl;
我得到了0. 我做错了什么? 顺便说一句我正在使用(并且必须使用,大学项目)VS2010,所以chrono不是一种选择。
我很新的C++,我需要打印我的程序的执行时间与4位(X.XXX)毫秒 - 我试图用如何计算以毫秒为单位执行时间
double start_s=clock();
// my program here
double stop_s=clock();
cout << "time: " << (stop_s) << endl;
我得到了0. 我做错了什么? 顺便说一句我正在使用(并且必须使用,大学项目)VS2010,所以chrono不是一种选择。
使用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::seconds
或std::chrono::nanoseconds
。
这是tutorial测量执行时间chrono
。
编辑:,如果你的编译器不支持chrono
,然后
得到一个较新的一个
采取的wget
源代码看看src/ptimer.c
。它适用于Windows和Linux,并使用本机API。
'时钟'是非常原始的。改用['std :: chrono'](http://en.cppreference.com/w/cpp/chrono)。 –
提供的代码无法提供此输出。 –