Python 可变内存大小

Python Variable memory size

我正在尝试使用 pymongo 将时间序列数据保存到 MongoDB 中。然而,平均对象大小是 14 个字节,而我需要将它存储在 4 个字节中。

问题是Python 将变量预分配为 24 字节(或基于变量大小,更大),并且在 pymongo 中转换后是一个臃肿的集合。

例如:

x=1
sys.getsizeof(x)

24 字节

x=1000**1000
sys.getsizeof(x)

1356 字节

上面的例子只是一个例子,我使用的是较小的尺寸,通常是 32 位用于电压电流等 如何确保 4 字节适合 python 变量和更小的 mongoDB 时间序列集合

Python 对象的运行时大小在这里几乎无关紧要 - 特别是对于小整数 - 因为存储的是对象的 bson 表示,而不是 - 显然 - Python 对象本身。