問題タブ [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 - Python cProfile の結果が加算されないように見える
Python スクリプトの cProfile 結果のスクリーンショットを添付しました。2 行目は、arcpy サイト パッケージのジオプロセシング関数を参照していることを知っています。ただし、最初の行が何を指しているのかは不明です。
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing_base.py:498()
回線 1 は 1 回の呼び出しで 72 秒で 3 回呼び出され、回線 2 は 1 回の呼び出しで 216 秒で 1 回呼び出されました。ただし、これらの合計は 219 にはなりません。これらの結果をどのように解釈すればよいですか?
python - cProfile を使用して Python スクリプトを外部ファイルにプロファイリングする
Python プログラミングは初めてです。Python スクリプトがあり、cProfile コマンドを使用してプロファイルを作成しようとしています。次のように入力しました
発生しreadings.txt
ました。しかし、標準のテキスト エディタまたはメモ帳を使用してファイルを開こうとすると、ファイルが正しく開きません。データは含まれていません
メモ帳を使用して開くことができる外部ファイルにこれらの統計を保存する方法を誰か教えてもらえますか??
Windows プラットフォームを使用しています
python - ord での文字列検索は 'in' メソッドよりも遅い
シンプルなテキストパーサーの2つのバージョンがあります(ログインの正確性を検証します):
すべて同じ動作をする 3 つの方法があります。ログインのいくつかのルールを確認してください。正規表現ルールで明らかだと思います。280000 回のログインでこれらのメソッドの cProfile ベンチマークを作成したところ、理解できない結果が得られました。
正規表現で
順序付き
メソッドで
正しい形式で 10 万のログイン、キリル文字で 6 万のログイン、20 ではなく 24 の長さの 6 万のログイン、長さ 0 の 6 万のログインを作成しました。つまり、28 万あります。正規表現が ord を使用した単純なサイクルよりもはるかに高速であることをどのように説明しますか?
python - Python と IPython cProfile sort_order
愛好家、
「IPython」で「cProfile」を実行すると、システムシェルで同等のコードを実行するのとは対照的に、「sort_order」オプションが機能しません(ファイルにリダイレクトして、最初の出力の行)。私は何が欠けていますか?たとえば、次のコードを実行する場合:
次の出力が得られます(順序付け:標準名):
・・・残り省略
システム シェル (Win7) から実行される IMO の同等のコード:
次のソートされた出力が得られます。
・・・残り省略
また、関数呼び出しの数にも違いがあることに気付きました。なんで?
私はPython 2.7.6 64ビット(Enthoughtから)を実行しており、両方の実行にまったく同じバージョンのpythonが使用されていることを確認しました(もちろん、最初のバージョンには追加の「IPython」「レイヤー」があります)。実用的なソリューションがあることはわかっていますが、インタラクティブ バージョンの方が時間を節約できるので、違いがある理由を理解したいと思います。
お時間をいただき、ありがとうございました!!
python - 私のコードがとても遅いのはなぜですか?
私はcProfileが初めてです。
プログラムで cProfile を実行したところ、次のように吐き出されました。
newad.py の最初の行は次のとおりです。
この行はそんなに時間がかかるはずですか?代わりに何ができますか?
python - CPython からの出力なし
PySide と OpenCV を使用して記述されたアプリケーションのプロファイルを作成しようとしていますが、プロファイラーで奇妙な動作が発生します。次の行を使用してコードを実行します。
プログラムの非常に短い実行で機能する傾向があります。それを開いて画像をロードすると(アニメーションエディタです)、output.fileが期待どおりに表示されます。ただし、実際にプログラムを使用すると (アニメーション フレームを移動するなど)、出力はありません。エラー メッセージやクラッシュ情報は生成されません。結果をコンソールに書き込もうとすると、同じ問題が発生します。出力が生成されない場合もあります。
これを引き起こしている可能性のあるものについて何か考えはありますか?
編集: 呼び出しは期待どおりに終了しますが、出力は生成されません。ハングしません。
Edit2 - application_window.py の主な機能は次のとおりです。
Editor はかなり複雑な QT ウィジェットです。したがって、application_window が実際に行うことは、QT イベント ループを開始することだけです。
python - cProcess 出力の分析
Perforce サーバーの出力を分析する python スクリプトがあります。これにより、特定の時間にどのプロセスが実行されているかを出力する 2 つの異なる方法があります。
1. プロセス インデントとプロセス インデントの開始を一致させる (P120 には 119 インデントがあります)
+P1
+P2
-P1
+P3
-P3
-P2
2.プロセスのインデントと実行中のプロセスの数を一致させる
+P1
+P2
+P3
-P2
-P3
-P1
これらの関数の両方の入力は、作成したプロセス オブジェクトのリストです。
タイプ 1 のコード: (SLOW)
タイプ 2 のコード: (FAST)
正確な数のプロセスでは、最初のタイプは 11 分以上かかりますが、他のタイプは約 1 秒しかかかりません。タイプ 1 で 11,000 のプロセスがある場合、ある時点で特定の行に 11,000 のタブがあり、タイプ 2 ではそうではないことに気付きました。それが私のスクリプトを遅くしている唯一のものでしょうか? 他の誰かが他の重大なエラーを見ますか? このスクリプトで私が呼び出すその他のメソッドを確認する必要がある場合はお知らせください。
これら 2 つの関数で cProfiler を実行したところ、次のようになりました。
1: (遅い)
2: (高速)
私はこれを理解して、どこが遅くなっているのかを確認しようとしています。私が実際に目にする唯一の違いは、関数の最初の呼び出しの totime が異なることです。
私が使用できるより優れたコード アナライザーを持っている人はいますか?
他に必要なものがあれば教えてください。