python - Python数据结构的内存大小

标签 python memory data-structures memory-management

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

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

如果它递归地计算每一件事,那就太好了。但即使是基本的非递归结果也有帮助。基本上我想了解各种实现选项,例如 tuple vs. list 与就内存占用而言的类。这很重要,因为我计划实例化数百万个对象。

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

最佳答案

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

作为 Daniel在评论中指出,它不是递归的;它只计算对象本身占用的字节数,而不计算它引用的其他对象。 This recipe for a recursive computation由 Python 3 文档链接到。

关于python - Python数据结构的内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3471559/

相关文章:

Python raw_input 不工作

python - 将 python 应用程序转换为 webapp 的最简单框架?

java - 在 Android 中从内存中加载声音

c# - 传递3种不同数据类型来做同一件事的方法?

python - 使用 Sci-Kit 的 Count Vectorizer 转换输入以仅匹配词汇表中的精确单词

python - 调用在 c 中创建文件的 python 函数

language-agnostic - 当需要极高的可靠性时,如何处理动态内存分配?

c++ - 内存映射文件对于不断变化的数据有害吗?

java - 如何检查给定的 BST 是否有效?

algorithm - 如何构建一棵树然后遍历每个叶子(每次从根节点到叶子)?