多項式のリテラル (str) 式を含むかなり大きなファイル (3M 行、1.1G ファイル) を読み取る非常に単純なスクリプトを作成しています。次に、シンボリック計算に Sympy を使用し、結果を 16 個の個別のファイルに書き込みます。
スクリプトを実行すると、使用するメモリ スペースが増加し (> 20 Gb)、その理由がわかりません。そのスクリプトのメモリ使用量を改善する方法はありますか?
from sympy import sympify
from sympy.abc import x,y
from sympy import degree
fin = open("out_poly","r")
A = fin.readlines()
fin.close()
deg = 4
fou = [open("coeff_x"+str(i)+"y"+str(k),"w") for i in range(deg+1) for k in range(deg+1-i)]
for line in A:
expr = line.replace("^","**").replace("x0","x").replace("x1","y")
exprsy = sympify(expr)
cpt = 0
for i in range(deg+1):
for k in range(deg+1-i):
fou[cpt].write(str(exprsy.coeff(x,i).coeff(y,k))+"\n")
cpt = cpt+1
for files in fou:
files.close()