我有一个对象列表,例如:
L = [<CustomObject object at 0x101992eb8>, <CustomObject object at 0x101763908>, ...]
列表中的项目是“引用”,所以我想这就像无符号整数列表,对吗?
为了查看是否可以节省一些内存,我想使用struct模块打包此列表。
这可能吗?如果是的话,该怎么做? (除非您确定我不会像这样节省内存)
答案 0 :(得分:1)
list
内部已经是一个“整数”(指针)数组; struct
不能以任何简单或有效的方式进行压缩,否则会干扰Python的垃圾回收。
CustomObject
(如果它们是唯一的)占用的内存是原来的两倍多-接近一百倍,除非您为类使用__slots__
。