2017-06-01 8 views
3

cProfileを使用してpythonプロファイリングについて議論するいくつかの記事と、出力ファイルが以下のサンプルコードのを返すという理由による出力の分析の課題はプレーンテキストではありませんファイル。pandasデータフレームにcProfileの出力を格納する

(表示されるコードは、https://docs.python.org/2/library/profile.htmlのサンプルであり、直接再現できません)。

​​

ここ1つの議論があります:Profile a python script using cProfile into an external file

はまたdocs.python.orgpstats.Stats

(まだサンプルのみではなく、を使用して出力を分析する方法の詳細があります再現可能):

import pstats 
p = pstats.Stats('restats') 
p.strip_dirs().sort_stats(-1).print_stats() 

私はここでいくつかの非常に重要な詳細が欠落している可能性がありますuldは実際に出力をパンダのデータフレームに保存してそこからさらに分析したいと思います。

私はかなりきちんと見えます)、それはcProfile.runを(実行しているからiPythonで出力するのでかなり簡単だろうと思った:

In[]: 
cProfile.run('re.compile("foo|bar")' 

Out[]: 

enter image description here

パンダのデータにこれを取得する方法上の任意の提案をフレームは同じ形式ですか?

答えて

3

それはあなたがやりたいかもしれませんhttps://github.com/ssanderson/pstats-viewようになります(データを可視化し、それが対話することに関連し、不必要な依存関係とはいえ):

>>> from pstatsviewer import StatsViewer 
>>> sv = StatsViewer("/path/to/profile.stats") 
>>> sv.timings.columns 
Index(['lineno', 'ccalls', 'ncalls', 'tottime', 'cumtime'], dtype='object') 
関連する問題