From merkushov.victor на gmail.com Thu Mar 14 05:45:58 2019 From: merkushov.victor на gmail.com (=?UTF-8?B?0JLQuNC60YLQvtGAINCc0LXRgNC60YPRiNC+0LI=?=) Date: Thu, 14 Mar 2019 15:45:58 +0300 Subject: [Moscow.pm] =?utf-8?b?0KPRgtC10YfQutCwINC/0LDQvNGP0YLQuCB1dGY4?= =?utf-8?q?_+_regex?= Message-ID: Добрый день. Почему тут память течёт? Кто-нибудь встречался с таким? ==================== code ====================================== use utf8; use strict; use warnings; use Memory::Usage; use Test::More; my $text_ru = "Привет МИР!"; my $text_en = "Hello World!"; subtest "test1" => sub { my $mu = Memory::Usage->new(); $mu->record('BEGIN'); my $counter = 0; for ( 1..1_000_000 ) { # $text_en =~ m/Hello\sWorld/ && $counter++; $text_en =~ m/Привет\sМИР/ && $counter++; } $mu->record('END'); print $mu->report(), $/; my $mu_state = $mu->state(); cmp_ok $mu_state->[-1]->[-1] - $mu_state->[0]->[-1], '<=', 10, "No more than 10 KB of memory was used for the data."; # cmp_ok $counter, '==', 1_000_000, "All matched"; cmp_ok $counter, '==', 0, "There are no matches"; }; done_testing; exit(0); ======================= result v5.26.1 Ubuntu 18.04.2 LTS =============== $ perl -v This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi # Subtest: test1 time vsz ( diff) rss ( diff) shared ( diff) code ( diff) data ( diff) 0 32480 ( 32480) 9904 ( 9904) 4544 ( 4544) 2016 ( 2016) 5868 ( 5868) BEGIN 0 134780 ( 102300) 112336 ( 102432) 4544 ( 0) 2016 ( 0) 108168 ( 102300) END not ok 1 - No more than 10 KB of memory was used for the data. # Failed test 'No more than 10 KB of memory was used for the data.' # at ./memory_leak.t line 28. # '102300' # <= # '10' ok 2 - There are no matches ======================= result v5.12.4 Ubuntu 12.04.5 LTS =============== $ perl -v This is perl 5, version 12, subversion 4 (v5.12.4) built for x86_64-linux # Subtest: test1 time vsz ( diff) rss ( diff) shared ( diff) code ( diff) data ( diff) 0 28084 ( 28084) 7196 ( 7196) 1912 ( 1912) 1248 ( 1248) 5664 ( 5664) BEGIN 1 28084 ( 0) 7196 ( 0) 1912 ( 0) 1248 ( 0) 5664 ( 0) END ok 1 - No more than 10 KB of memory was used for the data. ok 2 - There are no matches 1..2 ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: From zhuravlev.ua на gmail.com Thu Mar 14 06:45:45 2019 From: zhuravlev.ua на gmail.com (Artem Zhuravlev) Date: Thu, 14 Mar 2019 15:45:45 +0200 Subject: [Moscow.pm] =?utf-8?b?0KPRgtC10YfQutCwINC/0LDQvNGP0YLQuCB1dGY4?= =?utf-8?q?_+_regex?= In-Reply-To: References: Message-ID: Может переменная в цикле которая с utf8 Должна называться $text_ru а не $text_en как у вас закоментировано. чт, 14 мар. 2019 г. в 14:46, Виктор Меркушов via Moscow-pm : > Добрый день. > > Почему тут память течёт? Кто-нибудь встречался с таким? > > ==================== code ====================================== > > use utf8; > use strict; > use warnings; > > use Memory::Usage; > use Test::More; > > my $text_ru = "Привет МИР!"; > my $text_en = "Hello World!"; > > subtest "test1" => sub { > my $mu = Memory::Usage->new(); > $mu->record('BEGIN'); > > my $counter = 0; > for ( 1..1_000_000 ) { > # $text_en =~ m/Hello\sWorld/ && $counter++; > $text_en =~ m/Привет\sМИР/ && $counter++; > } > > $mu->record('END'); > > print $mu->report(), $/; > > my $mu_state = $mu->state(); > cmp_ok $mu_state->[-1]->[-1] - $mu_state->[0]->[-1], '<=', 10, > "No more than 10 KB of memory was used for the data."; > > # cmp_ok $counter, '==', 1_000_000, "All matched"; > cmp_ok $counter, '==', 0, "There are no matches"; > }; > > done_testing; > exit(0); > > > ======================= result v5.26.1 Ubuntu 18.04.2 LTS =============== > > $ perl -v > > This is perl 5, version 26, subversion 1 (v5.26.1) built for > x86_64-linux-gnu-thread-multi > > # Subtest: test1 > time vsz ( diff) rss ( diff) shared ( diff) code ( diff) > data ( diff) > 0 32480 ( 32480) 9904 ( 9904) 4544 ( 4544) 2016 ( 2016) > 5868 ( 5868) BEGIN > 0 134780 ( 102300) 112336 ( 102432) 4544 ( 0) 2016 ( > 0) 108168 ( 102300) END > > not ok 1 - No more than 10 KB of memory was used for the data. > # Failed test 'No more than 10 KB of memory was used for the data.' > # at ./memory_leak.t line 28. > # '102300' > # <= > # '10' > ok 2 - There are no matches > > ======================= result v5.12.4 Ubuntu 12.04.5 LTS =============== > > $ perl -v > > This is perl 5, version 12, subversion 4 (v5.12.4) built for x86_64-linux > > # Subtest: test1 > time vsz ( diff) rss ( diff) shared ( diff) code ( diff) > data ( diff) > 0 28084 ( 28084) 7196 ( 7196) 1912 ( 1912) 1248 ( 1248) > 5664 ( 5664) BEGIN > 1 28084 ( 0) 7196 ( 0) 1912 ( 0) 1248 ( 0) > 5664 ( 0) END > > ok 1 - No more than 10 KB of memory was used for the data. > ok 2 - There are no matches > 1..2 > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Artem V. Zhuravlev ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: From zhuravlev.ua на gmail.com Thu Mar 14 06:50:24 2019 From: zhuravlev.ua на gmail.com (Artem Zhuravlev) Date: Thu, 14 Mar 2019 15:50:24 +0200 Subject: [Moscow.pm] =?utf-8?b?0KPRgtC10YfQutCwINC/0LDQvNGP0YLQuCB1dGY4?= =?utf-8?q?_+_regex?= In-Reply-To: References: Message-ID: А это дня наглядности... фейла чт, 14 мар. 2019 г. в 15:45, Artem Zhuravlev : > Может переменная в цикле которая с utf8 Должна называться $text_ru а не > $text_en как у вас закоментировано. > > чт, 14 мар. 2019 г. в 14:46, Виктор Меркушов via Moscow-pm < > moscow-pm на pm.org>: > >> Добрый день. >> >> Почему тут память течёт? Кто-нибудь встречался с таким? >> >> ==================== code ====================================== >> >> use utf8; >> use strict; >> use warnings; >> >> use Memory::Usage; >> use Test::More; >> >> my $text_ru = "Привет МИР!"; >> my $text_en = "Hello World!"; >> >> subtest "test1" => sub { >> my $mu = Memory::Usage->new(); >> $mu->record('BEGIN'); >> >> my $counter = 0; >> for ( 1..1_000_000 ) { >> # $text_en =~ m/Hello\sWorld/ && $counter++; >> $text_en =~ m/Привет\sМИР/ && $counter++; >> } >> >> $mu->record('END'); >> >> print $mu->report(), $/; >> >> my $mu_state = $mu->state(); >> cmp_ok $mu_state->[-1]->[-1] - $mu_state->[0]->[-1], '<=', 10, >> "No more than 10 KB of memory was used for the data."; >> >> # cmp_ok $counter, '==', 1_000_000, "All matched"; >> cmp_ok $counter, '==', 0, "There are no matches"; >> }; >> >> done_testing; >> exit(0); >> >> >> ======================= result v5.26.1 Ubuntu 18.04.2 LTS =============== >> >> $ perl -v >> >> This is perl 5, version 26, subversion 1 (v5.26.1) built for >> x86_64-linux-gnu-thread-multi >> >> # Subtest: test1 >> time vsz ( diff) rss ( diff) shared ( diff) code ( diff) >> data ( diff) >> 0 32480 ( 32480) 9904 ( 9904) 4544 ( 4544) 2016 ( 2016) >> 5868 ( 5868) BEGIN >> 0 134780 ( 102300) 112336 ( 102432) 4544 ( 0) 2016 ( >> 0) 108168 ( 102300) END >> >> not ok 1 - No more than 10 KB of memory was used for the data. >> # Failed test 'No more than 10 KB of memory was used for the data.' >> # at ./memory_leak.t line 28. >> # '102300' >> # <= >> # '10' >> ok 2 - There are no matches >> >> ======================= result v5.12.4 Ubuntu 12.04.5 LTS =============== >> >> $ perl -v >> >> This is perl 5, version 12, subversion 4 (v5.12.4) built for x86_64-linux >> >> # Subtest: test1 >> time vsz ( diff) rss ( diff) shared ( diff) code ( diff) >> data ( diff) >> 0 28084 ( 28084) 7196 ( 7196) 1912 ( 1912) 1248 ( 1248) >> 5664 ( 5664) BEGIN >> 1 28084 ( 0) 7196 ( 0) 1912 ( 0) 1248 ( 0) >> 5664 ( 0) END >> >> ok 1 - No more than 10 KB of memory was used for the data. >> ok 2 - There are no matches >> 1..2 >> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > > > -- > Best regards, > Artem V. Zhuravlev > -- Best regards, Artem V. Zhuravlev ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: