什么是解决MemoryError的编程方法(从创建大型矩阵中提高)?

时间:2017-11-28 13:04:23

标签: python python-2.7 out-of-memory

我在同一个函数中创建了4个矩阵大小MemoryError (115005L, 6005L) (9738L, 6005L) (115005L, 9738L) and (115005L, 6005L)。现在我在Windows中Python 2.7.13 (Anaconda 64-bit)。将python更新为3.x是解决问题的最佳方法吗?或者如何在不修改硬件的情况下解决MemoryError?我必须使用这台电脑,但我无权购买或添加任何东西。

1 个答案:

答案 0 :(得分:1)

众所周知,Python 3在许多领域需要比Python 2.7更多的内存:

  • 字符串是unicode,因此它们使用的内存是Python 2字节字符串的两倍
  • python 3 int类型相当于Python 2 long类型,因此再次需要更多内存

其他域可能会有一些改进,但我不希望从Python 2传递到Python 3可以解决任何内存不足问题。

增加物理内存应该是一种更可靠的方式。