通常在IDE中,当您运行程序时,IDE将告诉您运行程序所花费的总时间。有没有办法获得在Unix / Linux中使用终端编译和运行时运行程序所需的总时间?
我知道ctime允许获得自1970年以来的总时间,但是我想得到程序运行所需的时间。
答案 0 :(得分:4)
您可以按时启动程序:
[:~/tmp] $ time sleep 1
real 0m1.007s
user 0m0.001s
sys 0m0.003s
答案 1 :(得分:1)
你走在正确的轨道上!您可以获取当前时间并从程序的结束时间中减去它。下面的代码说明了:
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上查看clock_gettime()。在这两种情况下,代码可能会非常相似。
答案 2 :(得分:0)
作为mdsl答案的附录,如果你想在程序本身中获得接近该测量的东西,你可以在程序开始时获得时间并在程序结束时获得时间(如你所说) ,自1970年以来的时间) - 然后从结束时间减去开始时间。