Время выполнения программы через Терминал - PullRequest
3 голосов
/ 13 января 2011

Я написал программу на C ++, для которой я хотел бы указать время, необходимое для завершения - есть ли какая-нибудь терминальная команда, которую я мог бы использовать?

Ответы [ 5 ]

4 голосов
/ 13 января 2011

Вы можете использовать команду "time", доступную в большинстве (возможно, во всех) дистрибутивах Linux. Будет напечатано время, потраченное как система, как пользователь, и общее время.

Например

bash-4.1$ time (sleep 1; sleep 1)

выведет что-то вроде

real    0m2.020s
user    0m0.014s
sys 0m0.005s

Как видно из скобок, вы можете запустить любую цепочку команд, какую пожелаете.

3 голосов
/ 13 января 2011

Это называется time в * nix

0 голосов
/ 14 апреля 2017

Я пытаюсь лучше объяснить:)

Если вы скомпилировали свой код, используя g ++, например:

g++ -std=c++14 c++/dijkstra_shortest_reach_2.cpp -o dsq

Чтобы запустить его, введите:

./dsq

Чтобы запустить его с содержимым файла в качестве ввода, вы набираете:

./dsq < input07Dijkstra.txt

Теперь для ответа.

Для того, чтобы получить продолжительность программыдля вывода на экран просто введите:

time(./dsq < input07Dijkstra.txt)

Или без ввода:

time(./dsq)

Для первой команды мой вывод:

real    0m16.082s
user    0m15.968s
sys     0m0.089s

Надеюсьпомогает!

0 голосов
/ 13 января 2011

или Measure-Command в PowerShell.

0 голосов
/ 13 января 2011

Итерируйте функцию несколько раз (вероятно, 1000), чтобы вы могли получить достаточно большое число. Затем используйте time.h, чтобы создать две переменные типа time_t - одну перед выполнением, одну после. Вычтите два и разделите на итерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...