問題タブ [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 投票する
3 に答える
17218 参照

python - このcProfileの結果は、修正する必要があることを示していますか?

Pythonスクリプトのパフォーマンスを改善したいと思いcProfile、パフォーマンスレポートの生成に使用しています。

chrX.profこのファイルをPythonで開きpstats、統計を出力しました。

質問:このスクリプトのパフォーマンスに与える明らかな影響を減らすためにjoinsplitおよび操作について何ができますか?write

関連する場合は、問題のスクリプトの完全なソースコードを次に示します。

編集

sys.stdout.writeの最初の条件でステートメントをコメントアウトするとparseJarchLine()、ランタイムは10.2秒から4.8秒になります。

Pythonでの書き込みはstdout本当にそれほど高価ですか?

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

python - 自分自身をデーモンとしてフォークする python プログラムのプロファイル

デーモンプロセスにフォークするマルチスレッドの python プログラムで cprofile を実行することは可能ですか? マルチスレッドで動作させることができることは知っていますが、デーモンのプロファイリングについては何も見ていません。

0 投票する
4 に答える
5011 参照

python - App Engine: time.sleep() は割り当てにカウントされますか?

おい。私は、ジオコーディングのために Google Maps API へのクエリを含む App Engine アプリに取り組んでいます。Google マップはリクエストが多すぎるのを好みませんtime.sleep(1)

GAE ダッシュボードでクォータが不足していることに気付き、短いテストを実行することにしました。

これにより、次の出力が得られました。

したがって、time.sleep(3). このような呼び出しが、GAE が提供するクォータ制限にカウントされるかどうか疑問に思っています。もしそうなら、ジオコーディングのための API 呼び出し間で遅延を発生させる別の方法は何ですか?

ありがとう。

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

python - cProfile を使用して Python でクラスのメソッドをプロファイリングしますか?

cProfile を使用して、Python で関数のメソッドをプロファイリングしたいと考えています。私は次のことを試しました:

しかし、うまくいきません。「run」でself.methodを呼び出すにはどうすればよいですか?

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

python - Python で cProfiler の深さを増やして、より多くの関数を報告しますか?

他の関数を呼び出す関数をプロファイリングしようとしています。次のようにプロファイラーを呼び出します。

プロファイラーは、サブ関数 foo() 呼び出しに分割するのではなく、mymodule の関数 "foo()" ですべての時間が費やされたと言っていることがわかりました。これは、私が見たいものです。これらの関数のパフォーマンスをプロファイラーに報告させるにはどうすればよいですか?

ありがとう。

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

python - 大量のメモリを使用するcProfile

Pythonでプロジェクトのプロファイルを作成しようとしていますが、メモリが不足しています。

私のプロジェクト自体はかなりメモリを消費しますが、cProfileで実行すると、ハーフサイズの実行でさえ「MemoryError」で停止します。

実行時間は超線形にスケーリングしていると思われるため、小規模な実行を行うことは適切なオプションではありません。また、大規模な実行中にどの関数が支配的であるかを見つけようとしています。

なぜcProfileはそれほど多くのメモリを消費するのですか?安くすることはできますか?これは正常ですか?

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

python - Python:バイトコード指向のプロファイラー

ユーザーがPythonコードを記述できるWebアプリケーション(http://www.checkio.org/ )を作成しています。多くのフィードバック指標の1つとして、このコードのチェックを実行しながらプロファイリングを有効にしたいと思います。これは、ユーザーがさまざまなソリューションの相対的な効率について非常に大まかなアイデアを得ることができるようにするためです。

プロファイルは(合理的に)決定論的である必要があります。Webサーバーに他の負荷をかけて、読み取り効率を低下させたくありません。また、これらの短いスクリプトは非常に高速に実行されるため、一部のプロファイラーが適切な測定を行わないのではないかと心配しています。timeitモジュールは、何千回も実行されている関数を示していますが、可能であれば、この小さな機能でサーバーリソースを無駄にしないようにしたいと思います。

標準プロファイラーのどれがこのニーズを満たしているかは明らかではありません。理想的には、プロファイラーは、バイトコード命令ごとに1つインクリメントする「インタープリターバイトコードティック」の単位を提供します。これは非常に大まかな方法​​ですが、決定論と高精度の要件を満たしています。

どのプロファイリングシステムを使用する必要がありますか?

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

python - プロファイル Python cProfile と unix 時間

私はpythonコードをプロファイリングしています。ユーザー空間でより多くの時間を費やすのはなぜですか?

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 0.003 0.003 :1() 1 0.000 0.000 0.000 0.000 ConfigParser.py:218(init) 1 0.000 0.000 0.001 0.001 ConfigParser.py:266(read) 30 0.000 0.000 0.000 0.000 ConfigParser.py:354(optionxform) 1 0.000 0.000 0.000 0.000 ConfigParser.py:434(_read) 15 0.000 0.000 0.000 0.000 ConfigParser.py:515(get) 15 0.000 0.000 0.000 0.000 ConfigParser.py:611(_interpolate) 15 0.000 0.000 0.000 0.000 ConfigParser.py:619(_interpolate_some) 1 0.000 0.000 0.000 0.000 config.py:32(read_config_data) 1 0.000 0.000 0.001 0.001 config.py:9(init) 6 0.000 0.000 0.000 0.000 entity.py:108(add_to_filter) 1 0.000 0.000 0.002 0.002 entity.py:24(init) 1 0.001 0.001 0.002 0.002 entity.py:39(create_inverted_index) 493 0.000 0.000 0.001 0.000 entity.py:80(beautify) 1 0.000 0.000 0.000 0.000 entity.py:84(create_bucket_lookup) 1 0.000 0.000 0.000 0.000 main.py:15() 2 0.000 0.000 0.000 0.000 main.py:18() 1 0.000 0.000 0.003 0.003 main.py:23(main) 1 0.000 0.000 0.000 0.000 main.py:9(get_bag_of_words) 19 0.000 0.000 0.000 0.000 {built-in method group} 34 0.000 0.000 0.000 0.000 {built-in method match} 1 0.000 0.000 0.000 0.000 {isinstance} 2 0.000 0.000 0.000 0.000 {len} 28 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} 1 0.000 0.000 0.000 0.000 {method 'close' of 'file' objects} 15 0.000 0.000 0.000 0.000 {method 'copy' of 'dict' objects} 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} 15 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects} 19 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects} 24 0.000 0.000 0.000 0.000 {method 'join' of 'str' objects} 49 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects} 20 0.000 0.000 0.000 0.000 {method 'readline' of 'file' objects} 6 0.000 0.000 0.000 0.000 {method 'replace' of 'str' objects} 24 0.000 0.000 0.000 0.000 {method 'rstrip' of 'str' objects} 47 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects} 9 0.000 0.000 0.000 0.000 {method 'startswith' of 'str' objects} 1030 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects} 15 0.000 0.000 0.000 0.000 {method 'update' of 'dict' objects} 2 0.000 0.000 0.000 0.000 {method 'write' of 'file' objects} 10 0.000 0.000 0.000 0.000 {open} 2 0.000 0.000 0.000 0.000 {range} 3 0.000 0.000 0.000 0.000 {reduce}

Done

real 0m0.063s user 0m0.050s sys 0m0.010s

cProfile には 0.003 秒しかかからなかったと書かれていますが、なぜ unix (sys) 時間は 0.01 秒で実行されると言っているのですか?

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

python - Python cProfile:pyoファイルは可能ですか

私は Python の初心者で、コマンド ラインから cProfile を呼び出そうとしています。

しかし、それはそれを示すエラーメッセージをスローします

SyntaxError: ファイル myScript.pyo の 1 行目に非 ASCII 文字 '\xb3' がありますが、エンコードが宣言されていません。詳細については、 http://www.python.org/peps/pep-0263.htmlを参照してください。

しかし、myScript.py ファイルに対して同じことを行うと、問題なく動作します。

クライアント マシンでプロファイル データを収集する必要があり、そのマシンにソース コードを配置できません。

足りないものはありますか?