Как отследить общее время программы?
Обычно в IDE, когда вы запускаете программу, IDE сообщит вам общее количество времени, которое потребовалось для запуска программы. Есть ли способ получить общее количество времени, которое требуется для запуска программы при использовании терминала в Unix/Linux для компиляции и запуска?
Мне известно о ctime, которое позволяет получить общее время с 1970 года, однако я хочу получить только время, необходимое для запуска программы.
3 ответа
Вы можете запускать программы со временем:
[:~/tmp] $ time sleep 1
real 0m1.007s
user 0m0.001s
sys 0m0.003s
Ты на правильном пути! Вы можете получить текущее время и вычесть его из времени окончания вашей программы. Код ниже проиллюстрирован:
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;
ПРИМЕЧАНИЕ. Время детализации составляет всего одну секунду. Если вам нужна более высокая степень детализации, я предлагаю рассмотреть точные таймеры, такие как QueryPerformanceCounter() в windows или clock_gettime() в linux. В обоих случаях код, скорее всего, будет работать очень похоже.
В качестве дополнения к ответу mdsl, если вы хотите получить что-то близкое к этому измерению в самой программе, вы можете получить время в начале программы и получить время в конце программы (как вы сказали, во времени). с 1970 года) - затем вычтите время начала из времени окончания.