Я пытаюсь найти наилучший способ использования возможности кэширования c, предоставляемого объектом dask.Cache в контексте одного объекта интерфейса.
В отличие от большинства случаев использования I я не создаю сценарии напрямую с функциями. Я работал над созданием интерфейса, берет ряд узлов, которые содержат различные вычисления, которые строят график.
Будет ли подходящее использование в духе одного из следующих примеров? Или что-то другое?
from dask.cache import Cache
from dask import get
class InterfaceA:
def __init__(self, nodes: dict): # assume nodes are in dsk spec
self.nodes = nodes
self.cache = Cache()
self.cache.register() # register cache for all get calcs
def get(self, key):
return get(self.nodes, key) # use get assuming that caching happens locally at class level (does it?)
class InterfaceB:
def __init__(self, nodes: dict): # assume nodes are in dsk spec
self.nodes = nodes
self.cache = Cache()
def get(self, key):
with self.cache: # use dask cache as context manager
return get(self.nodes, key) # use get assuming that caching happens locally at class level (does it?)
Спасибо.