[英]Python variable memory management
我只是写了这个原始脚本:
from sys import getsizeof as g
x = 0
s = ''
while s != 'q':
x = (x << 8) + 0xff
print(str(x) + " [" + str(g(x)) + "]")
s = input("Enter to proceed, 'q' to quit ")
输出如下-令我惊讶的是:
255 [28]
65535 [28]
16777215 [28]
4294967295 [32]
1099511627775 [32]
281474976710655 [32]
72057594037927935 [32]
18446744073709551615 [36]
等等。 我的观点是:似乎变量x具有某种“开销”,大小为25个字节。 这是从哪里来的? 在此先感谢您为我提供的任何帮助。
python int
是一个对象,因此开销很小也就不足为奇了。 如果这种开销对您开始变得有意义,那么这意味着您正在处理大量的int集合,这向我表明numpy库可能是您应该考虑的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.