如何找出Python数据结构的内存大小?我正在寻找类似的东西:
sizeof({1:'hello', 2:'world'})
如果它以递归方式计算每件事情,那就太好了。但即使是基本的非递归结果也有帮助。基本上我想了解各种实现选项,比如tuple v.s.列表v.s.在内存占用方面的类。这很重要,因为我计划将数百万个对象实例化。
我目前的开发平台是CPython 2.6。
答案 0 :(得分:22)
查看sys.getsizeof
功能。根据文档,它返回对象的大小(以字节为单位),由对象的__sizeof__
方法给出。
正如Daniel在评论中指出的那样,它不是递归的;它只计算对象本身占用的字节数,而不是它引用的其他对象。 {3}与Python 3文档相关联。