問題タブ [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.
python - このcProfileの結果は、修正する必要があることを示していますか?
Pythonスクリプトのパフォーマンスを改善したいと思いcProfile
、パフォーマンスレポートの生成に使用しています。
chrX.prof
このファイルをPythonで開きpstats
、統計を出力しました。
質問:このスクリプトのパフォーマンスに与える明らかな影響を減らすためにjoin
、split
および操作について何ができますか?write
関連する場合は、問題のスクリプトの完全なソースコードを次に示します。
編集
sys.stdout.write
の最初の条件でステートメントをコメントアウトするとparseJarchLine()
、ランタイムは10.2秒から4.8秒になります。
Pythonでの書き込みはstdout
本当にそれほど高価ですか?
python - 自分自身をデーモンとしてフォークする python プログラムのプロファイル
デーモンプロセスにフォークするマルチスレッドの python プログラムで cprofile を実行することは可能ですか? マルチスレッドで動作させることができることは知っていますが、デーモンのプロファイリングについては何も見ていません。
python - App Engine: time.sleep() は割り当てにカウントされますか?
おい。私は、ジオコーディングのために Google Maps API へのクエリを含む App Engine アプリに取り組んでいます。Google マップはリクエストが多すぎるのを好みませんtime.sleep(1)
。
GAE ダッシュボードでクォータが不足していることに気付き、短いテストを実行することにしました。
これにより、次の出力が得られました。
したがって、time.sleep(3)
. このような呼び出しが、GAE が提供するクォータ制限にカウントされるかどうか疑問に思っています。もしそうなら、ジオコーディングのための API 呼び出し間で遅延を発生させる別の方法は何ですか?
ありがとう。
python - cProfile を使用して Python でクラスのメソッドをプロファイリングしますか?
cProfile を使用して、Python で関数のメソッドをプロファイリングしたいと考えています。私は次のことを試しました:
しかし、うまくいきません。「run」でself.methodを呼び出すにはどうすればよいですか?
python - Python で cProfiler の深さを増やして、より多くの関数を報告しますか?
他の関数を呼び出す関数をプロファイリングしようとしています。次のようにプロファイラーを呼び出します。
プロファイラーは、サブ関数 foo() 呼び出しに分割するのではなく、mymodule の関数 "foo()" ですべての時間が費やされたと言っていることがわかりました。これは、私が見たいものです。これらの関数のパフォーマンスをプロファイラーに報告させるにはどうすればよいですか?
ありがとう。
python - 大量のメモリを使用するcProfile
Pythonでプロジェクトのプロファイルを作成しようとしていますが、メモリが不足しています。
私のプロジェクト自体はかなりメモリを消費しますが、cProfileで実行すると、ハーフサイズの実行でさえ「MemoryError」で停止します。
実行時間は超線形にスケーリングしていると思われるため、小規模な実行を行うことは適切なオプションではありません。また、大規模な実行中にどの関数が支配的であるかを見つけようとしています。
なぜcProfileはそれほど多くのメモリを消費するのですか?安くすることはできますか?これは正常ですか?
python - Python:バイトコード指向のプロファイラー
ユーザーがPythonコードを記述できるWebアプリケーション(http://www.checkio.org/ )を作成しています。多くのフィードバック指標の1つとして、このコードのチェックを実行しながらプロファイリングを有効にしたいと思います。これは、ユーザーがさまざまなソリューションの相対的な効率について非常に大まかなアイデアを得ることができるようにするためです。
プロファイルは(合理的に)決定論的である必要があります。Webサーバーに他の負荷をかけて、読み取り効率を低下させたくありません。また、これらの短いスクリプトは非常に高速に実行されるため、一部のプロファイラーが適切な測定を行わないのではないかと心配しています。timeitモジュールは、何千回も実行されている関数を示していますが、可能であれば、この小さな機能でサーバーリソースを無駄にしないようにしたいと思います。
標準プロファイラーのどれがこのニーズを満たしているかは明らかではありません。理想的には、プロファイラーは、バイトコード命令ごとに1つインクリメントする「インタープリターバイトコードティック」の単位を提供します。これは非常に大まかな方法ですが、決定論と高精度の要件を満たしています。
どのプロファイリングシステムを使用する必要がありますか?
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 秒で実行されると言っているのですか?
python - Python cProfile:pyoファイルは可能ですか
私は Python の初心者で、コマンド ラインから cProfile を呼び出そうとしています。
しかし、それはそれを示すエラーメッセージをスローします
SyntaxError: ファイル myScript.pyo の 1 行目に非 ASCII 文字 '\xb3' がありますが、エンコードが宣言されていません。詳細については、 http://www.python.org/peps/pep-0263.htmlを参照してください。
しかし、myScript.py ファイルに対して同じことを行うと、問題なく動作します。
クライアント マシンでプロファイル データを収集する必要があり、そのマシンにソース コードを配置できません。
足りないものはありますか?