5章 要素モデルの計算速度調整
〜 その他 〜
(5)その他
その他 計算速度に関連すると思われる項目について触れます。
計算中にSleep を行うことは無いと思いますが、試しに Sleep 時間を0に設定して
System.Threading.Thread.Sleep を呼ぶだけでもかなりの時間ロスになります。
例えば、Calculateメソッド内に下記メソッドを追加してみます。 Sleep時間ゼロとしてSystem.Threading.Thread.Sleep(
) メソッドをコールする場合と、 System.Threading.Thread.Sleep( )
メソッドを コメントアウトした場合との比較を行なってみます。
protected override long Calculate(long lInputDataNum, ref
McReceiveCellDataIF[]
csInputCellData) { for (long i = 0; i < 1000; i++) { System.Threading.Thread.Sleep(0); } } |
コーディング |
計算時間(秒) |
System.Threading.Thread.Sleep( 0 ) |
46秒 |
// System.Threading.Thread.Sleep( 0 ) <-- コメントアウト |
<2秒 |
この章で作成した要素モデル開発プロジェクト(Ex10_MyExerciseModel.lzh)
ダウンロードしたら解凍して生成されたフォルダー「MyExerciseModel」を \CommonMP\Source\HYMCO\OptionImpl\ 下に置きます。
解凍して生成されたプロジェクト:MyExerciseModel.csproj を ディバッグ用ソリューションに追加し、スタートアッププロジェクト(TestModelDeveloperMainExp)の依存関係に追加します。
またテスト用のCommonMP計算プロジェクト(Ex10_MyExerciseStep1.lzh)
解凍して生成された、「MyExerciseStep1」フォルダーを \CommonMP\CommonMPData\ 下に置きます。
初版:2013/06/29 |