0
私はそのようなスクリプトを持っています。pythonのより速い計算のための最適化defaultdict
for b in range(len(xy_alignments.keys())):
print str(b) + " : " + str(len(xy_alignments.keys()))
x = xy_alignments.keys()[b][0]
y = xy_alignments.keys()[b][1]
yx_prob = yx_alignments[(y,x)]/x_phrases[x]
xy_prob = xy_alignments[(x,y)]/y_phrases[y]
line_str = x + "\t" + y + "\t" + str(yx_prob) + "\t" + str(xy_prob) + "\n"
of.write(line_str.encode("utf-8"))
of.close()
xy_alignments
、yx_alignments
、x_phrases
、およびy_phrases
は、キーの数百万人が関与 のpython defaultdict変数です。
上記のループを実行すると、ゆっくりと実行されます。
python愛好家は速くするための提案がありますか?
おかげで、
'print'を削除します。それはおそらくそのコードのもっとも遅い部分です。 – zvone
しかし非常に遅いです。 1つのループをスキップするのに2秒かかります。 – yusuf
ループごとに1秒かかる。しかしそれでもなお悪い。 – yusuf