2014-12-10 3 views
0

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

Я нашел параметр «CPU-лимит времени», так что я думаю, что то, что я ищу должна существовать тоже, однако у меня не было никакой удачи до сих пор;)

Я был бы признателен за вашу помощь много , и спасибо заранее!

ответ

1

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

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

образцы $ кд/Aloha

$ Время ./aloha -u -c Cmdenv PureAloha1 fingerprints.ini

1

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

** Событие # 3870352 Т = +240,2018325552 прошедшее: 27.090s (0m 27s) 0% завершено Скорость: эв/сек = 142870 simsec/сек = 8,86681 эв/simsec = 16112.9 Сообщений: создано: 1646911 Присутствуют: 670 в ФЭС: 0

Нет больше событий - моделирование закончилось в турнире # 3870352, т = 240.2018325552.

В этом примере оно заняло 27.090s. Если вы хотите, вы можете написать сценарий для извлечения этого значения.

0

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

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

double startCPUclocks; 
double endCPUclocks; 

Выполнить следующее, когда кусок кода начинается:

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

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

endCPUclocks - startCPUclocks; 
Смежные вопросы