以纳秒为单位测量程序执行时间

时间:2016-09-26 05:05:30

标签: time g++ execution

我正在尝试在Visual Studio中的g ++ 4.2.2中测量纳米级程序的执行时间库#inlcude未被编译器识别。我不允许在任何其他编译器中编译我的程序而不是g ++ 4.2.2

我可以用其他任何方法来衡量我的节目的开始时间和结束时间,以纳秒为单位。

这就是我正在做的事情

int main(){

auto start= chrono::high_resolution_clock::now();

.....my program.....

auto end= chrono::high_resolution_clock::now();
cout<<chrono::duration_cast<chrono::nanoseconds>(end - start).count();
return 0;}

1 个答案:

答案 0 :(得分:0)

chrono库仅在c ++ 11开始提供。您的编译器可能太旧而无法使用chrono。这个链接似乎表明g ++ 4.3是最早的g ++版本,可以包含任何c ++ 11特性。

https://gcc.gnu.org/projects/cxx-status.html#cxx11

你应该看看Boost。它很可能会有你可以使用的东西(即boost :: posix_time :: nanoseconds)。

http://www.boost.org/

http://www.boost.org/doc/libs/1_61_0/doc/html/date_time/posix_time.html#date_time.posix_time.time_duration