【发布时间】:2010-11-22 19:41:50
【问题描述】:
32位和64位平台上Python数据结构的内存大小有参考吗?
如果没有,那么将它放在 SO 上会很好。越详尽越好!那么以下 Python 结构使用了多少字节(取决于len 和相关的内容类型)?
intfloat- 参考
str- unicode 字符串
tuplelistdictsetarray.arraynumpy.arraydeque- 新型类对象
- 旧式类对象
- ...以及我忘记的一切!
(对于只保留对其他对象的引用的容器,我们显然不想计算项目本身的大小,因为它可能是共享的。)
此外,有没有办法在运行时(递归或不递归)获取对象使用的内存?
【问题讨论】:
-
很多有用的解释可以在这里找到stackoverflow.com/questions/1059674/python-memory-model。不过,我希望看到更系统的概述
-
对于 NumPy 数组
a,使用a.nbytes。 -
如果你对这个的图形视图感兴趣,我做了一个图:stackoverflow.com/a/30008338/2087463
标签: python memory memory-footprint