OMNeT++ でのシミュレーションの CPU (または実行) 実行時間をテストしようとしています。シミュレーション後の実行時間を確認できるパラメーターまたはログファイルはありますか?
「CPU-limit-time」パラメーターを見つけたので、探しているものも存在するに違いないと思いますが、これまでのところ運がありません;)
どうぞよろしくお願いいたします。
OMNeT++ でのシミュレーションの CPU (または実行) 実行時間をテストしようとしています。シミュレーション後の実行時間を確認できるパラメーターまたはログファイルはありますか?
「CPU-limit-time」パラメーターを見つけたので、探しているものも存在するに違いないと思いますが、これまでのところ運がありません;)
どうぞよろしくお願いいたします。
CMDENV を使用すると、シミュレーションが終了すると、最後のイベントと経過時間が出力されます。
** イベント #3870352 T=240.2018325552 経過: 27.090 秒 (0 分 27 秒) 0% 完了速度: ev/sec=142870 simsec/sec=8.86681 ev/simsec=16112.9 メッセージ: 作成: 1646911 存在: FES で 670: 0
これ以上イベントはありません -- シミュレーションはイベント #3870352、t=240.2018325552 で終了しました。
この例では、27.090 秒かかりました。必要に応じて、この値を抽出するスクリプトを作成できます。
いいえ、OMNeT++ は、シミュレーションに費やされた CPU 時間またはウォール クロック時間を測定しません (ただし、CPU 時間を制限することはできます)。これは、外部ツールで測定できます。
シェルでコマンドを使用するだけtime
で、シミュレーションが開始され、終了時に標準出力にタイミング統計がダンプされます。
$ cd サンプル/アロハ
$ time ./aloha -u Cmdenv -c PureAloha1 Fingerprints.ini
これは C++ によって提供されます。
CPU 時間を格納する変数を定義します。
double startCPUclocks;
double endCPUclocks;
コードの一部が開始されたら、次を実行します。
startCPUclocks = clock();
... some code here....
endCPUclocks = clock();
次に、CPU 時間は次のように計算できます。
endCPUclocks - startCPUclocks;