Rolf Rost: Wann wird der Speicher wieder freigegeben?

Hallo liebe PERL Experten,

siehe Thema.

Da habe ich einen hash der im Verlauf eines CGI-Prozesses mit Werten gefüllt wird, was am Ende des Prozesses schonmal einige KiloBytes sein könnten, wenn ich das so laufen lassen würde.

Andererseits brauche ich die Werte dieses hashes nur 'häppchenweise' und so hab ich mir gedacht, dass ich jedesmal, wenn ein 'Häppchen' durch ist, die Listeneinträge dieses hashes lösche (mit delete $hash{$key} ).

Bringt das was? Wird in diesem Fall der Speicher wieder freigegeben?  Also innerhalb _eines_ Prozesses?

Vielen Dank für Antworten und auch Links zum Thema!

Gruss, Rolf

  1. 你好 Rolf,

    Bringt das was? Wird in diesem Fall der Speicher wieder freigegeben?
    Also innerhalb _eines_ Prozesses?

    Nein, wird er nicht. Das hatten wir die letzten Wochen aber schon oefter...

    再见,
     CK

    --
    Die Wirklichkeit hat weder ein Inneres, noch ein Äußeres, noch ein Zentrum.
    http://wwwtech.de/
    1. hi Christian,

      vielen Dank!

      Bringt das was? Wird in diesem Fall der Speicher wieder freigegeben?
      Also innerhalb _eines_ Prozesses?

      Nein, wird er nicht. Das hatten wir die letzten Wochen aber schon oefter...

      Na , ich hab doch gewusst, dass Du hier eine Antwort hast. Hast Du noch eine Quelle, wo ich das nachlesen kann?

      Viele Grüße, Rolf

      Hmm, in meinem Script bringts auf jeden Fall anderweitig was: Weniger Keys in dem hash den es 'häppchenweise' abzuarbeiten gilt.

  2. siehe Thema.

    Ich hab mal ein bisschen gegoogled:

    http://perl.active-venture.com/pod/perldebguts-perlmemory.html
    (wobei der Text für mein Englisch zu schwierig ist)

    ich hab die Suche mal auf deutsche Seiten beschränkt
    http://www.infocopter.com/perl/performance-de.htm kurz und bündig

    und dann hatte ich keine Lust mehr ;-)

    Struppi.