[Moscow.pm] perl 5.16 и Hash::Merge

Ruslan Zakirov ruz на bestpractical.com
Пн Ноя 12 12:18:08 PST 2012


2012/11/12 Vladimir Timofeev <vovkasm на gmail.com>:
> 2012/11/12 Ruslan Zakirov <ruz на bestpractical.com>:
>> 2012/11/12 Андрей П. Ковбович <akovbovich на gmail.com>:
>>> Подскажите, что изменилось такого в перле, что в 5.14.2 этот кусок
>>> кода выполняется с константным RSS
>>>
>>> use Hash::Merge ();
>>> my $m = Hash::Merge->new;
>>> $m->set_clone_behavior(0);
>>> $m->merge({a=>1},{b=>2}) while 1;
>>>
>>> в то же время, в 5.16.0 -  RSS растет как на дрожжах.
>>
>> Поздравляю, вы нашли memory leak либо в модуле, либо в perl itself.
>>
>> Возможно течет при выдергивании объекта из @_ с помощью &_get_obj;
>
> Ага! Близкий к минимальному showcase вот такой
> (https://gist.github.com/4058501):
>
> while (1) {
>     my $o = bless {}, 'main';
>     test({});
>     $o->test;
> }
>
> sub test { &test2; }
> sub test2 { ref($_[0]) && eval { $_[0]->isa(__PACKAGE__) }; }

Father C. пофиксил кучу утечек памяти недавно. Лучше залать
perlbug'ом, пока у него настроение есть (было) :)

>>
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>>
>> --
>> Best regards, Ruslan.
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
> --
> Vladimir Timofeev <vovkasm на gmail.com>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org



-- 
Best regards, Ruslan.


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