ジュリアコードのどの部分が実行に最も時間を要しているのか分かりたいと思います。 Pythonでは、cProfileはコードによって呼び出される各関数で費やされる時間を分解します。ジュリアに似たようなものがありますか?PythonのcProfileに相当するJuliaプロファイラはありますか?
答えて
@profile <expression>
はおそらくあなたが望むことをするでしょう。しかし、これを行うにはさまざまな方法があります。
利用可能なプロファイリング機能のほとんどはhereです。
さらに一般的なガイドはhereです。バックトレースが何を意味するのか、そしてアウトプルをコントロールする方法を説明します。また便利なのはProfileView.jlパッケージです。
* NB:Profileは「サンプリング」プロファイラを実装しています(コードのどこにあるか、たとえば1msの場所をチェックします)。その理由と欠点についてはガイドで説明していますが、ほとんどすべてのユースケースが必要です
また、VTune Amplifierプロファイラを使用して、Juliaプログラムで何が起こっているのかを確認することもできます。 Juliaパッケージを構築する必要があります。命令を参照してくださいhttps://software.intel.com/en-us/blogs/2013/10/10/profiling-julia-code-with-intel-vtune-amplifier
翻訳された言語(Python、Matlab)とコンパイルされた言語(Julia)をプロファイルするのはどれほど簡単で便利ですか。特に、記述するプロファイリングの種類には、コードの "インスツルメンテーション"が必要です。つまり、コードの各行の前後に余分な文(クロックを読む)が挿入されます。これらの余分なステートメントはオーバーヘッドを追加しますが、遅いインタープリター言語ではこのオーバーヘッドは通常管理しやすくなります。 Juliaのような高速言語では、コンパイルされたコードを "壊す"ことを避けるためにできることをすべて実行することを望んでいます。コンパイラは、追加されたインストルメンテーションによって破壊される最適化をしばしば行います。真のパフォーマンスコストの写真。
実際に計測プロファイラを使用する場合は、実行時間の行ごとの分析を行うより古いIProfileがあります。しかし、代わりに組み込みのサンプリングプロファイラを使用することを検討してください。それには多くの利点があり、私はIProfileが真により有用な状況に直面したことはありません。
サンプリングプロファイラは、コードを変更しません。プロファイルしていないときに実行するコードとまったく同じコードを実行しています。代わりに、現在の実行ポイントの「スナップショット」を定期的に取得します。同じポイントが何度も何度も繰り返されると、ボトルネックの1つになりそうです。これは通常、コードを最適化するために必要なすべての情報です。
- 1. PythonマルチプロセッシングのJulia相当.Pool.map
- 2. 相当のMicrosoft SQLプロファイラがあります
- 3. R(またはPythonやJulia)のデータフレームにtclに相当するものがありますか?
- 4. JuliaのPythonの 'with'に相当しますか?
- 5. pythonの__getattr__メソッドに相当するjavascriptはありますか?
- 6. Pythonのschedモジュールに相当するJavaはありますか?
- 7. perlのmodule-starterに相当するpythonはありますか?
- 8. Python/Djangoに相当するPHPのhash_hmacはありますか?
- 9. VBAに相当するPythonのpass文はありますか?
- 10. JuliaのPythonのdir(オブジェクト)と__builtin__相当
- 11. プリフューズビジュアライゼーションツールキットに相当するPythonはありますか?
- 12. HighLineに相当するPythonはありますか?
- 13. 'which'コマンドに相当するPythonはありますか
- 14. PHP-FPMに相当するPythonはありますか?
- 15. Juliaのgetattr()に相当するもの
- 16. OracleのSQLプロファイラに相当するものは何ですか?
- 17. PythonでNODE_ENVに相当するものがありますか?
- 18. PythonにはRakeに相当するものはありますか?
- 19. pythonには、perlのNet :: BGPライブラリに相当するライブラリがありますか?
- 20. Pythonのfile_put_contentsとiconvに相当するものはありますか?
- 21. TCPDFの 'annotate'関数に相当するPython ReportLabはありますか?
- 22. Pythonのprintfハッシュ置換に相当するJavaはありますか?
- 23. Pythonのglobモジュールに相当する正規表現はありますか?
- 24. Pythonのrange()に相当するDjangoテンプレート言語はありますか?
- 25. Pythonの `if __name__ == '__main __'`に相当するPerlはありますか?
- 26. Rのqchisq関数に相当するPythonはありますか?
- 27. Rのsample()関数に相当するPythonはありますか?
- 28. JavaのAWT Robotクラスに相当するPythonはありますか?
- 29. PHPのサブプロセスに相当するものはありますか?
- 30. BottomBarのSliverAppBarピンに相当するのはありますか?