可以profilehooks,写.prof文件吗?
Posted
技术标签:
【中文标题】可以profilehooks,写.prof文件吗?【英文标题】:can profilehooks, write .prof files? 【发布时间】:2015-09-25 22:36:13 【问题描述】:我想将 profilehook 输出写入 .prof 文件。为了将文件转换为 qcachgrind 文件并可视化分析结果。 (我不能用 cProfile 作为 cProfile,不分析代码)
【问题讨论】:
我假设您这样做是为了加快代码速度。你知道堆栈样本暴露了加速without needing to measure them. 他们发现至少和分析器一样多(确定性或统计)。 【参考方案1】:它不在网络上,但文档说:
profile(fn=None, skip=0, filename=None, immediate=False, dirs=False, sort=None, entries=40, profiler=('cProfile', 'profile', 'hotshot'), stdout=True)
Mark `fn` for profiling.
If `skip` is > 0, first `skip` calls to `fn` will not be profiled.
If `immediate` is False, profiling results will be printed to
sys.stdout on program termination. Otherwise results will be printed
after each call. (If you don't want this, set stdout=False and specify a
`filename` to store profile data.)
If `dirs` is False only the name of the file will be printed.
Otherwise the full path is used.
`sort` can be a list of sort keys (defaulting to ['cumulative',
'time', 'calls']). The following ones are recognized::
'calls' -- call count
'cumulative' -- cumulative time
'file' -- file name
'line' -- line number
'module' -- file name
'name' -- function name
'nfl' -- name/file/line
'pcalls' -- call count
'stdname' -- standard name
'time' -- internal time
`entries` limits the output to the first N entries.
`profiler` can be used to select the preferred profiler, or specify a
sequence of them, in order of preference. The default is ('cProfile'.
'profile', 'hotshot').
If `filename` is specified, the profile stats will be stored in the
named file. You can load them with pstats.Stats(filename) or use a
visualization tool like RunSnakeRun.
Usage::
def fn(...):
...
fn = profile(fn, skip=1)
If you are using Python 2.4, you should be able to use the decorator
syntax::
@profile(skip=3)
def fn(...):
...
or just ::
@profile
def fn(...):
...
【讨论】:
以上是关于可以profilehooks,写.prof文件吗?的主要内容,如果未能解决你的问题,请参考以下文章