Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Sage';s的保存和加载方法会导致高内存使用率_Python_Memory Management_Sage - Fatal编程技术网

Python 使用Sage';s的保存和加载方法会导致高内存使用率

Python 使用Sage';s的保存和加载方法会导致高内存使用率,python,memory-management,sage,Python,Memory Management,Sage,我正在使用SageMath软件存储和加载大矩阵,并在一个单独的终端窗口中使用htop监控程序的内存使用情况。(有没有更好的方法来观察圣人是如何使用记忆的?) 显然,软件在保存和加载对象时消耗了太多内存。有人知道发生了什么事以及如何解决吗 接下来,一个示例代码来显示它。注释,系统在每个步骤上使用的内存: # 211 Mb A = Matrix.random(RealField(200)['u','v','t'], 200) # 291 Mb (+ 80 Mb) save(A, 'A')

我正在使用SageMath软件存储和加载大矩阵,并在一个单独的终端窗口中使用htop监控程序的内存使用情况。(有没有更好的方法来观察圣人是如何使用记忆的?)

显然,软件在保存和加载对象时消耗了太多内存。有人知道发生了什么事以及如何解决吗


接下来,一个示例代码来显示它。注释,系统在每个步骤上使用的内存:

# 211 Mb

A = Matrix.random(RealField(200)['u','v','t'], 200)

# 291 Mb (+ 80 Mb)

save(A, 'A')

# 458 Mb (+ 168 Mb)
# A.sobj has size 8.55 Mb on disk
正在结束并开始sage的新会话

# 211 Mb

A = load('A')

# 360 Mb (+ 149 Mb)
那么,如果矩阵A占用80Mb,为什么在保存它时几乎要使用它的两倍呢?我不知道如何在不结束sage会议的情况下恢复它。另外,为什么在加载时,又使用了几乎两倍的内存


我的问题似乎与此密切相关:

但是使用这里建议的open/write方法会导致相同的行为