1
|
Frederico Schardong · 技术社区 · 6 年前 |
1
6
这个
但是这个列表实际上只是一个指向int对象的指针数组,您创建了其中的10000000个,每个指针占用的内存通常为24字节。 前几个数字(通常多达255个)是由解释器预先创建和缓存的,因此它们实际上是免费的,但其余的则不是。所以,您需要添加如下内容:
然后结果会更有意义。
但请注意,如果您没有创建
Python 2.x文档过去有一个指向旧递归的链接
The 3.x docs
链接到
a newer one
,在Python2.7中可能工作,也可能不工作。(我一眼就注意到它使用了
如果你想知道为什么
CPython将每个内置类型表示为一个C结构,其中至少包含refcount的空间和指向该类型的指针。对象需要表示的任何实际值都是该值的附加值。 1个 因此,最小的非单例类型将为每个实例占用24字节。
如果您想知道如何避免每个整数使用24字节,那么答案是
NumPy's
其中一个允许您指定“本机类型”,如
使用
使用NumPy,你得到了 二者都 速度和空间,因为NumPy将允许您在一个紧密优化的C循环中对整个数组执行矢量化操作。
一。在Python中使用
2。除非你不这样做。阻止你的系统进入交换地狱可能会加速比拳击和解体更慢的事情。即使你没有避开那巨大的悬崖 仍然 避免涉及VM分页或缓存位置的小悬崖。 |
TheKing · 为什么数组的地址可以有负值? 2 年前 |
yurnero · MATLAB:“加载”一个快速访问功能 6 年前 |
joe · 一页可以同时在两个工作集中吗? 6 年前 |
Jaques · “.exe”已触发断点 6 年前 |
adn bps · 在函数中修改变量的高效内存方法 6 年前 |
Gauraang Khurana · C语言中分段错误的不稳定行为 6 年前 |
Rajesh K · 如何查找设备中存在的广告垃圾? 6 年前 |