私はD言語が新しく、アルゴリズムの実行時間を測定する必要があります。私の選択肢は何ですか?既に組み込みのソリューションがありますか?私はウェブ上で決定的なものを見つけることができませんでした。D言語での実行時間の測定
11
A
答えて
14
1つの方法は、-profile
コマンドラインパラメータを使用することです。プログラムを実行すると、ファイルtrace.logが作成され、各機能の実行時間がわかります。これはもちろん、コンパイラがそれぞれの関数にタイムカウントコードを挿入するので、プログラムの速度が遅くなります。この方法は、機能の相対速度を見出し、最小限の労力でアプリケーションの速度を向上させるために最適化すべきものを特定するために使用されます。
第2のオプションは、std.datetime.StopWatchクラスを使用することです。このリンクの例を参照してください。
また、std.datetime.benchmark機能を直接使用することもできます。
は忘れないでください:
- を最大最適化
-release -O -inline -noboundscheck
を達成するために、これらのDMDコンパイラフラグを使用してベンチマーキングする場合。 - ベンチマークデバッグビルドしないでください。
- は、ベンチマークされた関数内でライブラリコードを呼び出さないようにしてください。あなた自身のコードの代わりにライブラリ実装のパフォーマンスをベンチマークすることになります。
また、LDCまたはGDCコンパイラの使用を検討することもできます。どちらもDMDよりも優れた最適化/アプリ実行速度を提供します。
3
あなたのアルゴリズムをコマンドラインから呼び出せれば、Dで書かれた気の利いたユーティリティがあり、あなたのプログラムを何時間も実行し、平均時間と他の有用な数字のすべての分布を表示します。
それはavgtimeと呼ばれ、それがここにあるです:https://github.com/jmcabo/avgtime
0
std.benchmarkは、審査キューです。
関連する問題
- 1. C言語での実行時間
- 2. 実行時間の測定 - プログラムコードまたはシェルでの測定?
- 3. スプリングバッチステップ実行時間の測定
- 4. CakePHP 1.3:ページ実行時間の測定
- 5. 日食のスピードを測定する、実行時間、実行時間
- 6. C言語でのミリまたはマイクロ秒単位の測定時間
- 7. Rの測定機能の実行時間と終了時間は、デフォルトでR
- 8. gpuでの時間測定の実行と割り当て
- 9. ネットワークプログラミングD言語
- 10. d言語スレッド
- 11. JSFでアクションの実行時間を測定する方法は?
- 12. Google Cloudでクエリの実行時間を測定する方法
- 13. SQLの各実行の測定/監視の応答時間
- 14. Spark GraphXアプリケーションの実行時間の測定方法は?
- 15. 非同期コードスニペットの実行時間の測定
- 16. 測定方法の実行時間の有効な方法
- 17. シェルスクリプトの各「サブプロセス」の実行時間を測定する方法
- 18. CNNの各レイヤの実行時間を測定する方法
- 19. 任意のWindows実行ファイルのメモリ使用量と実行時間の測定
- 20. 測定時間
- 21. DのMySQL言語バインディング?
- 22. GUIアプリケーションや実行中の時間を測定
- 23. Cコードの実行時間を測定する(Linux)
- 24. プロセスの実行時間を効率的に測定する
- 25. キュウリステップの実行時間を測定する方法
- 26. C++コードの実行時間を測定しますか?
- 27. 実行時間と使用メモリの測定
- 28. Actionscript 2.0、関数の実行時間を測定しますか?
- 29. 実行時間をCPUサイクルで測定しますか?
- 30. 実行時間を分と秒で測定する
プロファイリングは私がこの場合に必要とするものではありませんが、 'std.datetime.StopWatch'は私が探していたものです。 – clstaudt