問題タブ [cprofile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
705 参照

python - cProfile は、:1()

私はいくつかのコードをプロファイリングしています.cProfileは、ほとんどすべての時間がに費やされていることを報告してい<string>:1(<lambda>)ます. どういう意味ですか?
cProfile の出力は次のとおりです。

プロファイリング コードは次のとおりです。

そして、実際にすべてを実行するのは、便利な .py です。

0 投票する
3 に答える
20346 参照

python - Pythonマルチプロセスプロファイリング

単純なマルチプロセスPythonスクリプトをプロファイリングする方法を理解するのに苦労しています

私は5つのプロセスを開始しているため、cProfileは5つの異なるファイルを生成します。それぞれの内部では、メソッド「worker」の実行に約3秒かかることを確認したいのですが、代わりに「start」メソッド内で何が起こっているかだけが表示されています。

誰かが私にこれを説明してくれれば幸いです。

更新:受け入れられた回答に基づく実例:

0 投票する
1 に答える
461 参照

python - python で numpy/scipy len() cProfile の結果

重複の可能性:
Python スクリプトをプロファイリングするにはどうすればよいですか?

Pythonコードで最も多くの時間を費やしたメソッドを見つけるために使用cProfileしました。「percall」でソートした後の出力は次のとおりです。

len()メソッドがほとんどの時間を費やしていることがわかりました。

ただし、len()call が python オブジェクト__len__()メソッドを呼び出すことはわかっていますが、どの python クラス/オブジェクトが私を最も費やしたかをどのように知ることができますか?

私はpython 2.6.5を使用していて、次を使用してスクリプトを実行しました:

実際、私のコードは を使用しpython-numpyscipyニュートン法を使用して数値最適化を行います。目的関数の勾配の計算にほとんどの時間を費やしたと思いますが、なぜそれほど多くの時間を費やしたのかを知りたいと思います。

0 投票する
2 に答える
2730 参照

python - python-cProfileが実行されていません

cProfileを使用してコードのパフォーマンステストを実行しようとしましたが、残念ながら、cProfileをどのように試しても正しく機能しませんでした。これが私がしたことです:

そして、これが私が得たものです:

誰かが私がこれをデバッグするのを手伝ってくれますか、そしてうまくいけば解決策を提供できますか?

Wing IDE101ver4.1でPython2.7.3を実行しています。

ありがとうございました!!!

0 投票する
3 に答える
6557 参照

python - cProfile モジュールが unittest で動作しないのはなぜですか?

cProfile モジュールを使用して単体テストのプロファイルを作成します。しかし、私が走るとき

「0.000 秒で 0 回のテストを実行しました」というメッセージが表示されました。これが mytest.py のソースコードです

他のより複雑な単体テストでもテストしました。cProfile で実行すると、常に「Ran 0 tests」が表示されます。助けてください。

更新:私の OS は Python 2.7 が組み込まれた MacOS 10.7 です。同じコードが ubuntu でも正しく動作します。

0 投票する
1 に答える
1095 参照

python - django本番サーバーでcProfileを実行する方法

実稼働環境で Django アプリケーションのビューを監視したいので、ローカル環境でテストしたソリューションスクリプトに出くわしました。

実稼働環境でライブになったとき、 debug=True が原因で Unhandled Exception の問題に直面していました。ローカル環境でも debug=True (django サーバーによって静的にサービスを提供) を使用しました。

対応するdjangoビューのホットショットにアクセスするために上記のリンクミドルウェアを使用することは可能ですか?

django 実稼働サーバーのリンクで参照されている hotshot または cProfile を実行するのを手伝ってもらえますか?

0 投票する
3 に答える
657 参照

django - AppEngineWSGIミドルウェアプロファイラー

GoogleAppEngineに移植することにしたDjangoアプリケーションがあります。
データベースとしてNDBを使用することにし、すべてのモデル(djangoユーザーを含む)を移植しました。ドキュメントを1週間読んだ後(App Engineのドキュメントはひどいです、与えられた例はしばしば時代遅れで、もう機能しません)、アプリケーションを移植した後、私がそれを実行したとき、それは本当に遅かった:空の1秒から2秒の待ち時間データベース。
ndbクエリはそれほど時間はかからず(50ミリ秒未満)、Appstatsアプリケーションは他に何も表示しません。cProfile
を使用することにしましたwsgiミドルウェアを作成しましたが、出力を印刷する方法がわかりません。pstatsが提供するメソッドは、出力を出力するかファイルに保存するかのいずれかであり、wsgiハンドラー内では何もできません。
私のコードは次のとおりです。

プロファイラー統計を本文に追加するにはどうすればよいですか?
または、アプリケーションの速度を低下させている原因を見つけるためのより良い方法はありますか?
djangoビューで多くのモジュールインポートを使用していますモジュールをインポートするAppEngineの方法はありますか?

0 投票する
5 に答える
3697 参照

python - ノーズテスト --with-profile で cProfile を使用するには?

NOSETEST --with-profile --profile-stats-file の出力

ノーズテストはホットショットを使用するため、runsnake で出力を読み取ることができません。runsnake で読み取ることができるファイルを生成したい場合は、次のように変換する必要があります。

st = hotshot.stats.load('出力')

st.dump_stats('output_new')

runsnake で読み取るために、cProfile で直接テストを実行できますか?

0 投票する
1 に答える
1057 参照

python - 関数内からPythoncProfileを呼び出します。(またはDjangoでcProfileを使用する他の方法)

関数内からcProfileを呼び出し、それを使用して別の関数を呼び出してプロファイリングするにはどうすればよいですか?

私のウェブページから(Djangoを使用して)呼び出される関数start()があります。この関数では、cProfile呼び出しを行います。

これにより、「名前my_functionが定義されていません」というエラーが表示されます。ただし、通常の関数呼び出しを行うだけで、関数は問題なく呼び出されます。my_function()

すべてがcProfileを使用して「メイン」関数を実行するように言っていますが、Webページを除いて、プログラムを実行するための単一のメイン関数または明白な方法は実際にはありません。

0 投票する
1 に答える
267 参照

python - Python プロファイリング - コード外のロールアップ関数呼び出し

django のユニットテストのプロファイルを作成しようとしています (テストが高速な場合は、より頻繁に実行します)。Python の組み込み cProfile プロファイラーで実行し、pstats ファイルを作成しました。

ただし、信号対雑音比は悪いです。リストされている関数が多すぎます。1 つのデータベース クエリを作成すると、非常に多くの django 内部関数が呼び出されます。これにより、何が起こっているのかわかりにくくなります。

とにかく、特定のディレクトリの外にあるすべての関数呼び出しを「ロールアップ」できますか?

たとえば、ディレクトリ外で python 関数を呼び出し、それから他の 5 つの関数 (すべてディレクトリ外) を呼び出した場合、それらすべてをロールアップする必要があるため、関数呼び出しは 1 つだけのように見え、累積を表示する必要があります。全体の時間。

これは明らかに、Django のプロファイリング (たとえば) を行いたい場合には悪いことですが、私はそうしたくありません。

pstats.Stats オブジェクトを見ましたが、このデータを変更する明確な方法がわかりません。