<div dir="ltr"><div dir="ltr">Может переменная в цикле которая с utf8 Должна называться $text_ru а не $text_en как у вас закоментировано.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 14 мар. 2019 г. в 14:46, Виктор Меркушов via Moscow-pm <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Добрый день.<br><br>Почему тут память течёт? Кто-нибудь встречался с таким?<br><br>==================== code ======================================<br><br>use utf8;<br>use strict;<br>use warnings;<br><br>use Memory::Usage;<br>use Test::More;<br><br>my $text_ru = "Привет МИР!";<br>my $text_en = "Hello World!";<br><br>subtest "test1" => sub {<br> my $mu = Memory::Usage->new();<br> $mu->record('BEGIN');<br><br> my $counter = 0;<br> for ( 1..1_000_000 ) {<br> # $text_en =~ m/Hello\sWorld/ && $counter++;<br> $text_en =~ m/Привет\sМИР/ && $counter++;<br> }<br><br> $mu->record('END');<br><br> print $mu->report(), $/;<br><br> my $mu_state = $mu->state();<br> cmp_ok $mu_state->[-1]->[-1] - $mu_state->[0]->[-1], '<=', 10,<br> "No more than 10 KB of memory was used for the data.";<br><br> # cmp_ok $counter, '==', 1_000_000, "All matched";<br> cmp_ok $counter, '==', 0, "There are no matches";<br>};<br><br>done_testing;<br>exit(0);<br><br><br>======================= result v5.26.1 Ubuntu 18.04.2 LTS ===============<br><br>$ perl -v<br><br>This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi<br><br># Subtest: test1<br> time vsz ( diff) rss ( diff) shared ( diff) code ( diff) data ( diff)<br> 0 32480 ( 32480) 9904 ( 9904) 4544 ( 4544) 2016 ( 2016) 5868 ( 5868) BEGIN<br> 0 134780 ( 102300) 112336 ( 102432) 4544 ( 0) 2016 ( 0) 108168 ( 102300) END<br><br> not ok 1 - No more than 10 KB of memory was used for the data.<br> # Failed test 'No more than 10 KB of memory was used for the data.'<br> # at ./memory_leak.t line 28.<br> # '102300'<br> # <=<br> # '10'<br> ok 2 - There are no matches<br><br>======================= result v5.12.4 Ubuntu 12.04.5 LTS ===============<br><br>$ perl -v<br><br>This is perl 5, version 12, subversion 4 (v5.12.4) built for x86_64-linux<br><br># Subtest: test1<br> time vsz ( diff) rss ( diff) shared ( diff) code ( diff) data ( diff)<br> 0 28084 ( 28084) 7196 ( 7196) 1912 ( 1912) 1248 ( 1248) 5664 ( 5664) BEGIN<br> 1 28084 ( 0) 7196 ( 0) 1912 ( 0) 1248 ( 0) 5664 ( 0) END<br><br> ok 1 - No more than 10 KB of memory was used for the data.<br> ok 2 - There are no matches<br> 1..2<br><br><br></div></div>
-- <br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Best regards,<br><div>Artem V. Zhuravlev</div></div></div></div>