хех, захотел я потестировать, а у меня даже без кольцевых ссылок проблема.
Код:
my $hash = { };
while (1)
{
map { $hash{rand()} = rand() } (1 .. 100000);
undef $hash;
$hash = { };
warn "cycle\n";
}
Ни хрена не освобождается, память хавается без конца.
This is perl, v5.8.8 built for i686-linux-thread-multi
С другой стороны, по опыту у меня были проблемы с памятью и они
решились с помощью ручного своппинга -- данные выгружались на диск, и
заменялись в памяти именем временного файла, потом по необходимости подгружались.