Speicher freigeben in Funktion nötig?

Bash, Shell, PHP, Python, Perl, CGI
wookie_23
Posts: 17
Joined: 2003-07-18 14:52

Speicher freigeben in Funktion nötig?

Post by wookie_23 »

Hallo,

ich bin dabei eim sehr speicherlastiges Script eine Diät zu verpassen.

Ich habe mich gefragt ob Variablen die in einer Funktion benötigt werden automatisch mit "unset()" gelöscht oder geleert werden nachdem die Funktion beendet ist.

gruß wookie ;-)
r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Speicher freigeben in Funktion nötig?

Post by r00ty »

du meinst php ?

wenn du dort ne Variable in ner Funktion anlegst existiert die nach dem Ablauf dieser Funktion nicht mehr (vermut ich zumindest)
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09

Re: Speicher freigeben in Funktion nötig?

Post by majortermi »

PHP hat ein automatisches Speichermanagement, d.h. wenn eine Variable nicht mehr benutzt wird, sollte der Speicher freigegeben werden. In Version 4 scheint das meiner Erfahrung nach nicht besonders toll zu funktionieren, aber da es AFAIK eh keine Möglichkeit gibt, manuell Speicher freizugeben, kannst du einfach nur hoffen, dass es klappt.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
freeze
Posts: 41
Joined: 2002-07-15 08:18
Location: Oberhausen

Re: Speicher freigeben in Funktion nötig?

Post by freeze »

Einen guten Artikel zum Thema Speichermanagement bei PHP gibt es hier: http://www.zend.com/zend/art/ref-count.php. Ist zwar schon etwas älter (Jahr 2000) aber bis zum produktiven Einsatz von PHP 5 (Jahr 2005???) weiterhin aktuell. Insbesondere der letzte Absatz besagt, daß nicht mehr benötigter Speicher automatisch freigegeben wird. Andi Gutmans sollte es ja auch am besten wissen.
wookie_23
Posts: 17
Joined: 2003-07-18 14:52

dankeschön

Post by wookie_23 »

Danke Freez und MajorTermi.

:-D