improve: Assign different default cache sizes to each tag.
This commit is contained in:
+1
-1
@@ -7,7 +7,7 @@
|
||||
|
||||
import importlib
|
||||
|
||||
version_code = [0, 67, 1]
|
||||
version_code = [0, 68]
|
||||
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
||||
print(f"### Loading: ComfyUI-Inspire-Pack ({version_str})")
|
||||
|
||||
|
||||
+3
-1
@@ -1,3 +1,5 @@
|
||||
{
|
||||
"ckpt": 5
|
||||
"ckpt": 5,
|
||||
"latent": 100,
|
||||
"image": 100
|
||||
}
|
||||
@@ -299,6 +299,10 @@ class ShowCachedInfo:
|
||||
for k, v in cache._tag_settings.items():
|
||||
text3 += f'{k}: {v}\n'
|
||||
|
||||
for k, v in cache._data.items():
|
||||
if k not in cache._tag_settings:
|
||||
text3 += f'{k}: {v.maxsize}\n'
|
||||
|
||||
return f'{text1}\n{text2}\n{text3}'
|
||||
|
||||
@staticmethod
|
||||
|
||||
+11
-3
@@ -190,7 +190,7 @@ class ByPassTypeTuple(tuple):
|
||||
|
||||
class TaggedCache:
|
||||
def __init__(self, tag_settings: Optional[dict]=None):
|
||||
self._tag_settings = tag_settings or {} # tag cache size
|
||||
self._tag_settings = tag_settings or {} # tag cache size
|
||||
self._data = {}
|
||||
|
||||
def __getitem__(self, key):
|
||||
@@ -210,10 +210,18 @@ class TaggedCache:
|
||||
|
||||
tag = value[0]
|
||||
if tag not in self._data:
|
||||
# init tag cache, default tag size is 5
|
||||
|
||||
try:
|
||||
from cachetools import LRUCache
|
||||
self._data[tag] = LRUCache(maxsize=self._tag_settings.get(tag, 5))
|
||||
|
||||
default_size = 20
|
||||
if 'ckpt' in tag:
|
||||
default_size = 5
|
||||
elif tag in ['latent', 'image']:
|
||||
default_size = 100
|
||||
|
||||
self._data[tag] = LRUCache(maxsize=self._tag_settings.get(tag, default_size))
|
||||
|
||||
except (ImportError, ModuleNotFoundError):
|
||||
# TODO: implement a simple lru dict
|
||||
self._data[tag] = {}
|
||||
|
||||
Reference in New Issue
Block a user