PyPy和高效的数组

时间:2013-06-14 01:39:02

标签: python arrays numpy pypy

我的项目目前使用NumPy,仅用于内存高效的数组(bool_,uint8,uint16,uint32)。

我想让它在不支持NumPy的PyPy上运行。 (无论如何都无法安装)

所以我想知道:有没有其他内存有效的方法来存储Python中的数字数组? PyPy支持的任何东西? PyPy有什么属于自己的吗?

注意:array.array不是一个可行的解决方案,因为它在我的测试中使用了比NumPy更多的内存。

1 个答案:

答案 0 :(得分:3)

array.array 一个内存高效的数组。它将字节/字等组合在一起,因此整个数组只有几个字节的额外开销。

numpy可以使用更少内存的地方是当你有一个稀疏数组(并使用其中一个稀疏数组实现)时

如果您没有使用稀疏数组,则只是测量错误。

array.array也没有打包的bool类型,因此您可以将其实现为array.array('I')bytearray()的包装,或者甚至只使用Python long的位掩码