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


Python dask.diagnostics.CacheProfiler用法及代碼示例

用法:

dask.diagnostics.CacheProfiler(metric=None, metric_name=None)

用於在調度程序緩存級別執行 dask 的分析器。

記錄每個任務的以下信息:
  1. Key

  2. Task

  3. 尺寸公製

  4. 自紀元以來的緩存進入時間(以秒為單位)

  5. 自紀元以來的緩存退出時間(以秒為單位)

例子

>>> from operator import add, mul
>>> from dask.threaded import get
>>> from dask.diagnostics import CacheProfiler
>>> dsk = {'x': 1, 'y': (add, 'x', 10), 'z': (mul, 'y', 2)}
>>> with CacheProfiler() as prof:
...     get(dsk, 'z')
22
>>> prof.results    
[CacheData(key='y', task=(add, 'x', 10), metric=1, cache_time=..., free_time=...),
 CacheData(key='z', task=(mul, 'y', 2), metric=1, cache_time=..., free_time=...)]

默認是對每個任務進行計數(對於所有任務,metric 為 1)。其他函數可以通過metric 關鍵字用作度量。例如,cachey 中的nbytes 函數可用於測量緩存中的字節數。

>>> from cachey import nbytes                   
>>> with CacheProfiler(metric=nbytes) as prof:  
...     get(dsk, 'z')
22

可以使用visualize 方法在散景圖中可視化分析結果。請注意,這需要安裝散景。

>>> prof.visualize()

您可以全局激活分析器

>>> prof.register()

如果您在全局範圍內使用分析器,則需要手動清除舊結果。

>>> prof.clear()
>>> prof.unregister()

相關用法


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