Thread speicher freigeben (31 answers)
Opened by esskar at 2004-07-01 15:11

Crian
 2004-07-02 16:44
#83804 #83804
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Man kann der Garbage Collection helfen, indem man vor dem Löschen verschachtelter Strukturen innere Daten explizit freigibt, indem man sie auf undef setzt.

Wenn man sowas hat $hash{key}->[ fettes array ], kann man erstmal alle Werte auf undef setzen $hash{$_} = undef for keys %hash; bevor man dann das ganze Hash auf undef setzt oder aus dem Scope gehen lässt.

Eigentlich dürfte das der GC ja nur einen Schritt einsparen, aber in praktischen Anwendungsfällen hat gezeigt, dass der Unterschied wesentlich größer ist. Entweder habe ich das Problem falsch analysiert oder die GC verhält sich bei lang laufenden Perlprogrammen eigenartig. (Die Programme wurden nach mehreren Tagen immer langsamer...)\n\n

<!--EDIT|Crian|1088772606-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread speicher freigeben