我正在尝试学习多处理并保持较低的内存使用率,所以我想不时检查我的对象的大小。
我正在使用 mp.managers.DictProxy
来存储来自多个 mp.Process()
'workers'(?) 的结果,这些“工人”(?) 将他们的结果放入输出 mp.Queue()
。
我试图查看字典的大小,但在尝试测试时它一直返回 56
:
import sys
import multiprocessing as mp
manager = mp.Manager()
result_storage = manager.dict({k:k for k in range(100000)})
print(sys.getsizeof(result_storage))
# output is: 56
我已经尝试print(sys.getsizeof(result_storage.copy()))
。这返回了 5242976
。我可以可靠地使用它来检查尺寸还是有更好的方法?我从未使用过 .copy()
,我不知道有什么影响。 docs 超出我的范围。