如何在Python中解决MemoryError问题
2个回答
展开全部
通常不会遇到这个问题。python解决小问题不会有memory error
可能是使用了大对象也可能是使用了递归。没有合适规划临时或者是堆栈数据的数量。
那么有问题大部分是因为dict或者是list太大了。解决办法是使用优化过的数据结构,比如blist,或者是直接使用numpy的数组,array数据结构等等。
解决办法多。还可以使用64位版本。其实意义不大。python自己不需要管理大内存。也不需要大内存操作。
所以要用分布式架构解决问题。把问题分解成500MB以下的小问题,这样即使是32位的python也可以轻松完成。
内存管理的事情还是交给 C, C++这样的程序比较合适。2GB以下可以使用共享内存。 如果超过了,比如8,16, 96gb等。可以考虑使用数据库去管理。
如果你一定要用大对象也没有关系,其实效率也是挺高的。只是算法要优化。
可能是使用了大对象也可能是使用了递归。没有合适规划临时或者是堆栈数据的数量。
那么有问题大部分是因为dict或者是list太大了。解决办法是使用优化过的数据结构,比如blist,或者是直接使用numpy的数组,array数据结构等等。
解决办法多。还可以使用64位版本。其实意义不大。python自己不需要管理大内存。也不需要大内存操作。
所以要用分布式架构解决问题。把问题分解成500MB以下的小问题,这样即使是32位的python也可以轻松完成。
内存管理的事情还是交给 C, C++这样的程序比较合适。2GB以下可以使用共享内存。 如果超过了,比如8,16, 96gb等。可以考虑使用数据库去管理。
如果你一定要用大对象也没有关系,其实效率也是挺高的。只是算法要优化。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询