Dictionary 如何重新调用sys.getsizeof(dict),以便在使用PyPy时保留功能?

Dictionary 如何重新调用sys.getsizeof(dict),以便在使用PyPy时保留功能?,dictionary,memory,sys,pypy,Dictionary,Memory,Sys,Pypy,我希望在使用PyPy解释器运行代码时能够计算字典占用的字节数。我不知道字典的键是什么,也不知道这些键的值是什么。这就是我所知道的: 所有键都将是字符串类型 密钥数未知 所有值都将是string、int、double或None类型 我理解,根据故障消息中提供的解释,sys.getsizeof没有直接的替代方案,大多数情况下,链接到以某种方式实现sys.getsizeof的迭代解决方案 字典的条目是从JSON文件加载的,因此它们看起来像这种格式的一些变体: {'a':'hello','b':无,'c

我希望在使用PyPy解释器运行代码时能够计算字典占用的字节数。我不知道字典的键是什么,也不知道这些键的值是什么。这就是我所知道的:

所有键都将是字符串类型 密钥数未知 所有值都将是string、int、double或None类型 我理解,根据故障消息中提供的解释,sys.getsizeof没有直接的替代方案,大多数情况下,链接到以某种方式实现sys.getsizeof的迭代解决方案

字典的条目是从JSON文件加载的,因此它们看起来像这种格式的一些变体:

{'a':'hello','b':无,'c':20,'d':20.5}


有没有一种方法可以不使用sys.getsizeof计算此对象表示的字节数?我很难在谷歌上找到一个解决方案,我希望能在这里找到一些见解。

这个问题在Cpyton中没有意义,在PyPy中更没有意义。除了对共享状态的考虑之外,大小可能会根据dict中的内容以及PyPy是否可以仅针对int键和其他键优化其显式策略而变化,因此一般来说,在调用sys.getsizeof时,大小不会保持不变。有关更多信息,请参阅pypy文档的第页