GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

nvdv

vprof – Pythonのビジュアルプロファイラ

投稿日:

Pythonのビジュアルプロファイラ

vprof

vprofはPythonパッケージで、実行時間やメモリ使用量などのさまざまなPythonプログラムの特徴を豊富でインタラクティブに視覚化します。 これはPython 2.7、Python 3.4+をサポートし、BSDライセンスで配布されています。

プロジェクトは積極的に開発されており、一部の機能は期待どおりに機能しない可能性があります。

スクリーンショット

貢献する

すべての貢献は非常に奨励されています! 新機能の追加、既存のバグの報告と修正、ドキュメントやチュートリアルの作成が可能です。 気軽に問題を開いたり、プルリクエストを送信してください。

前提条件

ソースコードからvprofをビルドするための依存関係:

  • Python 2.7またはPython 3.4以上
  • pip
  • npm > = 3.3.12

ソースからvprofを構築するにはnpmが必要です。

依存関係

すべてのPythonモジュールとnpmモジュールの依存関係は、 package.jsonrequirements.txtリストされていrequirements.txt

インストール

vprofはPyPIからインストールできます

pip install vprof

ソースからvprofを構築するには、このリポジトリを複製して実行します。

python setup.py deps_install && python setup.py build_ui && python setup.py install

vprof依存関係だけをインストールするには、

python setup.py deps_install

使用法

vprof -c <config> <src>

<config>は、サポートされているモードの組み合わせです。

  • c – CPUフレームグラフ

<src> CPUフレームグラフを表示します。

  • p – プロファイラ

<src>組み込みのPythonプロファイラを実行し、結果を表示します。

  • m – メモリグラフ

CPython GCによって追跡され、コード実行後にメモリに残されたオブジェクトを表示します。 また、 <src>各行を実行した後のプロセスメモリの使用状況も表示します。

  • hコードヒートマップ

行実行時間と実行回数とともに<src>すべての実行コードを表示します。

<src>はPythonのソースファイル(例: testscript.py )またはパス(例えばmyproject/test_package )です。

引数付きのスクリプトを実行するには、二重引用符

vprof -c cmh "testscript.py --foo --bar"

モードを組み合わせることができます

vprof -c cm testscript.py

vprofは、関数をプロファイルすることもできます。 これを行うには、リモートモードでvprofを起動します。

vprof -r

vprofは、デフォルトのWebブラウザで新しいタブを開き、統計情報を待ちます。

関数の実行をプロファイルするには

from vprof import runner

def foo(arg1, arg2):
    ...

runner.run(foo, 'cmhp', args=(arg1, arg2), host='localhost', port=8000)

ここでcmhpはプロファイリングモード、 hostportはリモートモードで起動されたvprofサーバーのホスト名とポートです。 取得した統計情報は、デフォルトのWebブラウザの新しいタブで表示され、 vprof -rコマンドによって開かれます。

vprofは、プロファイルの統計情報をファイルに保存し、以前に保存したファイルからビジュアライゼーションをレンダリングできます。

vprof -c cmh src.py --output-file profile.json

ファイルにプロファイルを書き込む

vprof --input-file profile.json

以前に保存されたファイルからの視覚化をレンダリングします。

サポートされているパラメータの完全なリストについては、 vprof -hを確認してください。

UIヘルプを表示するには、ビジュアライゼーションが表示されたらh押します。

さらに詳細なサンプルの例については、 examplesディレクトリを確認することもできます。

テスト

python setup.py test && python setup.py e2e_test

ライセンス

BSD







-nvdv
-, , , , , , ,

執筆者: