Мой Perl-скрипт имеет странное поведение, которое я не понимаю. Я обрабатываю большую структуру, хранящуюся в виде массива хэшей, которая растет во время обработки. Проблема в том, что при хранении на жестком диске структура имеет около 8 Мб, но во время обработки она занимает около 130 Мб оперативной памяти. Почему такая большая разница?
Основной поток обработки выглядит так:
while(...)
{
my %new_el = %{Storable::dclone \%some_el};
# ...
# change a few things in new_el
# ...
push @$elements_ref, \%new_el;
}