PHP-Objekt erstellen und Speichernutzung

Einem basic dummy-Klasse:

class foo
{
    var $bar = 0;
    function foo() {}
    function boo() {}
}
echo memory_get_usage();
echo "\n";
$foo = new foo();
echo memory_get_usage();
echo "\n";
unset($foo);
echo memory_get_usage();
echo "\n";
$foo = null; 
echo memory_get_usage();
echo "\n";

Ausgänge:

$ php test.php
353672
353792
353792
353792

Nun, ich weiß, dass PHP-docs sagen, dass der Speicher nicht freigegeben werden, bis Sie benötigt wird (schlagen auf die Decke). Jedoch, ich schrieb dies als einen kleinen test, denn ich habe eine viel längere Aufgabe, mit einem viel größeren Objekt, mit vielen Instanzen des Objekts. Und der Speicher nur klettert, schließlich läuft aus und stoppen Ausführung. Obwohl diese großen Objekte belegen Speicher, da Zerstöre ich Sie, nachdem ich fertig bin mit jedem einzelnen (Seriell), sollte es nicht der Arbeitsspeicher (es sei denn, ein einzelnes Objekt erschöpft den gesamten Bereich für den Speicher, was nicht der Fall ist).

Gedanken?

InformationsquelleAutor | 2009-01-22
Schreibe einen Kommentar