Also ich habe eine eigene Templateklasse. Durch diese Templateklasse jage ich ein 16 kb großes Template. Dieses gebe ich nicht aus, sondern lasse mir nur das geparste Template zurückgeben. Das Template wird nur einmal geladen, im Speicher gehalten und einfach mit eval durchgenudelt.
Daraus ergibt für mein Verständnis, dass ich eigentlich nur beim initialisieren Speicher und beim ersten Einladen des Templates Speicher verbrauche. Ist aber nicht so. Ich mache 500 Durchgänge für das Template und gebe mir die Zeit und den Speicherverbrauch aus. Das Script gibt mir dann folgendes aus:
Warum ist das so bzw. hat jemand von Euch Erfahrung mit dem Problem oder hat eine Idee, wie ich das umgehen kann. Ich habe auch schon probiert, alle Arrays in der Klasse mit unset zu löschen. Das verlängert aber nur die Bearbeitungszeit (weil das Template jedes Mal neu eingeladen wird).
P.S. es müssen keine Variabeln im Template ersetzt werden.
Daraus ergibt für mein Verständnis, dass ich eigentlich nur beim initialisieren Speicher und beim ersten Einladen des Templates Speicher verbrauche. Ist aber nicht so. Ich mache 500 Durchgänge für das Template und gebe mir die Zeit und den Speicherverbrauch aus. Das Script gibt mir dann folgendes aus:
Code:
Durchgang: 1 -- 0.02092 sec -- 195 kb Durchgang: 2 -- 0.00059 sec -- 205 kb Durchgang: 3 -- 0.00056 sec -- 215 kb Durchgang: 4 -- 0.00056 sec -- 225 kb Durchgang: 5 -- 0.00055 sec -- 235 kb Durchgang: 6 -- 0.00055 sec -- 245 kb Durchgang: 7 -- 0.00055 sec -- 255 kb Durchgang: 8 -- 0.00056 sec -- 265 kb Durchgang: 9 -- 0.00056 sec -- 275 kb Durchgang: 10 -- 0.00056 sec -- 285 kb ... Durchgang: 499 -- 0.0006 sec -- 5,203 kb Durchgang: 500 -- 0.00063 sec -- 5,213 kb
P.S. es müssen keine Variabeln im Template ersetzt werden.
Kommentar