Время выполнения Omnet / процессорное время

Я пытаюсь проверить время работы процессора (или выполнения) для моделирования в OMNeT++. Есть ли какой-либо параметр или файл журнала, где я могу найти время выполнения после моделирования?

Я нашел параметр «CPU-limit-time», поэтому я думаю, что то, что я ищу, тоже должно существовать, однако пока мне не повезло;)

Буду очень признателен за вашу помощь, и заранее спасибо!


person cristinik    schedule 10.12.2014    source источник


Ответы (3)


Нет, OMNeT++ не измеряет время ЦП или время настенных часов, затрачиваемое на моделирование (хотя может ограничивать время ЦП). Вы можете измерить это с помощью внешних инструментов.

Просто используйте команду time в оболочке, и она запустит вашу симуляцию и выведет временную статистику на стандартный вывод, когда она завершится.

$ образцы компакт-дисков / алоха

$ время ./aloha -u Cmdenv -c PureAloha1 отпечатки пальцев.ini

person Rudi    schedule 12.02.2015

Если вы используете CMDENV, когда симуляция заканчивается, она печатает последнее событие и прошедшее время:

** Событие #3870352 T=240.2018325552 Прошло: 27,090 с (0 м 27 с) 0 % выполнено Скорость: ev/sec=142870 simsec/sec=8,86681 ev/simsec=16112,9 Сообщений: создано: 1646911 присутствует: 670 в ФЭС: 0

Событий больше нет — моделирование завершилось на событии #3870352, t=240.2018325552.

В этом примере это заняло 27,090 с. Если хотите, можете написать скрипт для извлечения этого значения.

person pys    schedule 06.03.2015

Это обеспечивается С++:

Определите переменные для хранения процессорного времени:

double startCPUclocks;
double endCPUclocks;

Запустите следующее, когда запустится фрагмент кода:

    startCPUclocks = clock();
    ... some code here....
    endCPUclocks = clock();

Тогда процессорное время можно вычислить как:

   endCPUclocks - startCPUclocks;
person Behnam Dezfouli    schedule 02.05.2015