Size: a a a

2021 January 23

OP

Oleg Pronin in Modern::Perl
Мы используем в с++ для многих задач простой самописный fixed-size аллокатор который делает до 1 лярда new/delete в секунду
Но память как в перле назад не отдается (кроме упрмянутого случая когда одна из частей арен пустая оказалась чего естессно не происходит в реальном мире
источник

VG

Vadim Goncharov in Modern::Perl
а почему sv_bless() требует RV вместо самого объекта О_о
perlobj явно говорит, что блессится референт, но https://metacpan.org/pod/perlguts#References как будто бы утверждает обратное
источник

OP

Oleg Pronin in Modern::Perl
Да но требует референс такой апи
источник

OP

Oleg Pronin in Modern::Perl
Все равно в перл незя вернуть сам обьект
источник

VG

Vadim Goncharov in Modern::Perl
Also, if the SV passed to mg_find or mg_findext is not of type SVt_PVMG, Perl may core dump.

отличная шутка
источник

OP

Oleg Pronin in Modern::Perl
А что такого
источник

OP

Oleg Pronin in Modern::Perl
Если на каждый чих все везде проверять как многие в перле пишут то скорость будет гавно
источник

W

Warstone in Modern::Perl
Василий Степанович Родин
А не по умолчанию как память вернуть именно системе?
Пересобрать перл со спец. патчами. Вадим тут говорил что достаточно другой аллокатор использовать, но это чушь. Так как Перл оперирует  так называемыми "аренами памяти" и надо патчить именно их в первую очередь. К сожалению патч не подскажу, так как никогда не надо было, но точно знаю что они есть.
источник

DF

Denis F in Modern::Perl
Warstone
Пересобрать перл со спец. патчами. Вадим тут говорил что достаточно другой аллокатор использовать, но это чушь. Так как Перл оперирует  так называемыми "аренами памяти" и надо патчить именно их в первую очередь. К сожалению патч не подскажу, так как никогда не надо было, но точно знаю что они есть.
Мне кажется проще архитектуру приложения поменять чем с патчами на перл париться
источник

YM

Yuri Myasoedov in Modern::Perl
Или язык )
источник

W

Warstone in Modern::Perl
Denis F
Мне кажется проще архитектуру приложения поменять чем с патчами на перл париться
И да и нет. Разные ситуации бывают
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
а -Dusemymalloc это о чем?
источник

VG

Vadim Goncharov in Modern::Perl
Warstone
Пересобрать перл со спец. патчами. Вадим тут говорил что достаточно другой аллокатор использовать, но это чушь. Так как Перл оперирует  так называемыми "аренами памяти" и надо патчить именно их в первую очередь. К сожалению патч не подскажу, так как никогда не надо было, но точно знаю что они есть.
ну как это чушь, вот я запускаю на фре

perl -E '$a="a"x1048576; $b.=$a,sleep 0.1 for 1..4096; say -big; sleep 20; undef $b; say -freed; sleep 20'

и вижу в top

  PID USERNAME      THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
6764 nobody          1  52    0  5136M  4112M nanslp  1   0:02  25.65% perl -E $a="a"x1048576; $b.=$a,sleep 0.1

и потом на выводе -freed падает до

 PID USERNAME      THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
6764 nobody          1  24    0 16560K  7856K nanslp  2   0:02   0.00% perl -E $a="a"x1048576; $b.=$a
источник

VG

Vadim Goncharov in Modern::Perl
перл на фре собран с PERL_MALLOC    : off
источник

W

Warstone in Modern::Perl
Строки не лежат в аренах.
источник

W

Warstone in Modern::Perl
Насколько я помню
источник

W

Warstone in Modern::Perl
Вот если-бы ты хеш сделал
источник

VG

Vadim Goncharov in Modern::Perl
на виндовом ActivePerl тоже уменьшался
источник

VG

Vadim Goncharov in Modern::Perl
Warstone
Вот если-бы ты хеш сделал
давай тестовый однострочник
источник
2021 January 24

OP

Oleg Pronin in Modern::Perl
Вадим я тока вчера писал что освобождается. Строки в их числе
источник