通常,在IDE中,当您运行程序时,IDE会告诉您运行程序所需的总时间。在使用Unix/Linux中的终端编译和运行程序时,是否有办法获得运行程序所需的总时间?
我知道ctime允许从1970年起获得总时间,但是我想得到程序运行所需的时间。
发布于 2014-03-02 00:05:34
您可以用时间启动程序:
[:~/tmp] $ time sleep 1
real 0m1.007s
user 0m0.001s
sys 0m0.003s
发布于 2014-03-02 00:09:35
你在正确的轨道上!您可以获得当前时间,并从您的程序结束时间减去它。下面的守则说明:
time_t begin = time(0); // get current time
// Do Stuff //
time_t end = time(0); // get current time
// Show number of seconds that have passed since program began //
std::cout << end - begin << std::endl;
注意:时间粒度仅为一秒。如果您需要更高的粒度,我建议查看精确计时器,例如windows上的QueryPerformanceCounter()或linux上的gettime()。在这两种情况下,代码的工作方式可能非常相似。
发布于 2014-03-02 00:08:00
作为mdsl答案的一个补充,如果你想在程序本身中得到接近这个测量值的东西,你可以在程序开始时得到时间,在程序结束时得到时间(正如你说的,从1970年开始),然后从结束时间减去开始时间。
https://stackoverflow.com/questions/22122125
复制相似问题