计算执行函数的时间

Csi*_*Csi 2 c++ time time.h

我需要计算一个函数的执行时间.

目前,我使用time.h

在功能的开头:

time_t tbegin,tend;
double texec=0.000;
time(&tbegin);
Run Code Online (Sandbox Code Playgroud)

返回前:

 time(&tend);
 texec = difftime(tend,tbegin);
Run Code Online (Sandbox Code Playgroud)

它工作正常,但作为整数给我一个texec的结果.

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

udi*_*043 5

大多数简单程序的计算时间以毫秒为单位.所以,我想,你会发现这很有用.

    #include <time.h>
    #include <stdio.h>
    int main()
    {
        clock_t start = clock();
           // Execuatable code
        clock_t stop = clock();
        double elapsed = (double)(stop - start) * 1000.0 / CLOCKS_PER_SEC;
        printf("Time elapsed in ms: %f", elapsed);
     }
Run Code Online (Sandbox Code Playgroud)

如果你想计算整个程序的运行时并且你在Unix系统上,那么使用time命令运行你的程序就像这次./a.out

  • 在多核环境中使用这种方法时必须小心:http://stackoverflow.com/questions/2962785/c-using-clock-to-measure-time-in-multi-threaded-programs (2认同)