Meine Testanwendung fügt eine Liste hinzu, die eine 60MB lange Zeichenfolge und eine 5-Byte lange Zeichenfolge enthält. Diese Liste wird dann mit join()
verbunden:
import timeit
setup_str = 'str_5byte = "\xfa\xea\x02\x02\x02"; L = [str_5byte]; str_60mb = str_5byte * 12000000'
t = timeit.Timer('L.append(str_60mb); str_long = "".join(L)', setup=setup_str)
t.timeit(100)
Wirft diese Ausnahme zurück:
Traceback (most recent call last):
File "", line 1, in
File "C:\Python25\lib\timeit.py", line 161, in timeit
timing = self.inner(it, self.timer)
File "", line 6, in inner
MemoryError
Ich nehme an, dass die Variablen nach jeder Ausführung gelöscht und vom Garbage Collector aufgeräumt werden, also warum geht mir der Speicher aus? Das Testen mit 8 Ausführungen ist in Ordnung, aber bei mehr als das erhalte ich diesen Fehler.