[Python-de] Hat Tornado mit Pypy ein Speicherleck?

Thomas Waldmann tw-public at gmx.de
Mi Aug 24 10:06:48 CEST 2011


> Dass man am Anfang mehr Speicher braucht bis der JIT alles schön
> optimiert (ist auch von Aufruf zu Aufruf schneller geworden, bis
> es ein Maximum erreicht hat) war mir klar. Aber das schien
> endlos zu laufen.

Wollte nur mal drauf hinweisen, dass dieses "am Anfang" auch etwas
laenger als erwartet sein kann.

Ich hab vor kurzem mal moin2 mit pypy 1.6 getestet und festgestellt,
dass pypy mit recht geringer Geschwindigkeit anfaengt, um sich dann
langsam auf ca. doppelte CPython-Geschwindigkeit hochzuarbeiten.

Was mich etwas erstaunt hat, ist dass es bei moin2 ca. 1000 Requests
dazu brauchte. Speicherverbrauch habe ich nicht mehr genau im Kopf,
waren aber glaub so 1xx MB.

Von daher koennte man vermuten, dass vielleicht bei Deinen Tests das
auch nur der JIT ist, der eben immer mal wieder was compiled (und dazu
RAM verbraucht).

Um wirklich ein Speicherleck nachzuweisen, muesste man es wohl extrem
lange laufen lassen und immer wieder Performance UND Speicherverbauch
messen und schauen, ob der Speicherverbrauch nicht doch gegen ein
Maximum konvergiert.

Wenn es in Grenzen immer mal wieder etwas mehr RAM verbraucht, aber
dafuer auch schneller wird, dann ist das halt der JIT.



Mehr Informationen über die Mailingliste python-de