可以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文件吗?的主要内容,如果未能解决你的问题,请参考以下文章

内联函数仍显示在 .prof 文件中

你如何阅读的web2py的探查产生的.prof文件?

如何分析 JRuby 代码?

如何使用 java -prof 选项获取在 Tomcat 上运行的 java 程序的分析输出?

在文件 qsetting 的末尾追加新数据

关于启动springboot如果指定多个profile时相同配置的覆盖规律