[Moscow.pm] Почему память не используется повторно?

Ivan B. Serezhkin ivan на serezhkin.com
Пн Дек 17 07:00:28 PST 2007


Привет.

В разных скопах она остаётся, и с андефом, и без.
В одном и том же скопе она реюзается, с андефом и без =)



Вот тестовый стэнд
#!/usr/bin/perl

use strict;
use URI;
use Data::Dumper;
use Devel::Peek;


sub printmysize {
    our $iter;
    $iter++;
    print "$iter : ".`ps awuxp $$`;
}


# do it in same scope
for (1..5) {
    my $aaa = '1' x (10 * 1024);
    $aaa x= 1024;
    printmysize();
}


=pod

printmysize();
{
   my $aaa = '1' x (10 * 1024);
   $aaa x= 1024;
printmysize();
}
printmysize();
{
   my $aaa = '1' x (10 * 1024);
   $aaa x= 1024;
printmysize();
}
printmysize();
{
   my $aaa = '1' x (10 * 1024);
   $aaa x= 1024;
printmysize();
}

###################
printmysize();
{
    my $aaa = '1' x (10 * 1024);
    $aaa x= 1024;
    printmysize();
    undef($aaa);

}
printmysize();
{
    my $aaa = '1' x (10 * 1024);
    $aaa x= 1024;
    printmysize();
    undef($aaa);
}
printmysize();
{
   my $aaa = '1' x (10 * 1024);
   $aaa x= 1024;
   printmysize();
   undef($aaa);
}
printmysize();

=cut


-- 
Ivan B. Serezhkin



Подробная информация о списке рассылки Moscow-pm