0
Ich habe ein solches Skript;Optimierung für schnellere Berechnung auf 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
und y_phrases
sind Python defaultdict Variablen, die Millionen von Schlüsseln beinhalten.
Wenn ich die obige Schleife starte, läuft es verdammt langsam.
Haben Python-Liebhaber einen Vorschlag, um es schnell zu machen?
Danke,
Entfernen Sie die 'print'. Es ist wahrscheinlich der langsamste Teil dieses Codes bei weitem. – zvone
Aber es ist sehr, sehr langsam. Es dauert 2 Sekunden, um eine Schleife zu überspringen. – yusuf
Jetzt dauert es 1 Sekunde pro Schleife. Aber immer noch so schlecht. – yusuf