Python数据结构的内存大小

时间:2010-08-12 19:59:51

标签: python memory data-structures memory-management

如何找出Python数据结构的内存大小?我正在寻找类似的东西:

sizeof({1:'hello', 2:'world'})

如果它以递归方式计算每件事情,那就太好了。但即使是基本的非递归结果也有帮助。基本上我想了解各种实现选项,比如tuple v.s.列表v.s.在内存占用方面的类。这很重要,因为我计划将数百万个对象实例化。

我目前的开发平台是CPython 2.6。

1 个答案:

答案 0 :(得分:22)

查看sys.getsizeof功能。根据文档,它返回对象的大小(以字节为单位),由对象的__sizeof__方法给出。

正如Daniel在评论中指出的那样,它不是递归的;它只计算对象本身占用的字节数,而不是它引用的其他对象。 {3}与Python 3文档相关联。