當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python profile.Profile用法及代碼示例

用法:

class profile.Profile(timer=None, timeunit=0.0, subcalls=True, builtins=True)

此類通常僅在需要比 cProfile.run() 函數提供的更精確的分析控製時使用。

可以提供自定義計時器,以通過timer 參數測量代碼運行所需的時間。這必須是一個返回代表當前時間的單個數字的函數。如果數字是整數,則timeunit 指定一個乘數,該乘數指定每個時間單位的持續時間。例如,如果計時器返回以數千秒為單位的時間,則時間單位將為 .001

直接使用 Profile 類允許格式化配置文件結果,而無需將配置文件數據寫入文件:

import cProfile, pstats, io
from pstats import SortKey
pr = cProfile.Profile()
pr.enable()
# ... do something ...
pr.disable()
s = io.StringIO()
sortby = SortKey.CUMULATIVE
ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
ps.print_stats()
print(s.getvalue())

Profile 類也可以用作上下文管理器(僅在 cProfile 模塊中支持。請參閱上下文管理器類型):

import cProfile

with cProfile.Profile() as pr:
    # ... do something ...

pr.print_stats()

在 3.8 版中更改:添加了上下文管理器支持。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 profile.Profile。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。