From theathlet на yandex.ru Tue May 2 03:13:28 2017 From: theathlet на yandex.ru (=?utf-8?B?0JrQvtCy0LDQu9GMINCS0Y/Rh9C10YHQu9Cw0LI=?=) Date: Tue, 02 May 2017 11:13:28 +0100 Subject: [Moscow.pm] =?utf-8?b?0KDQsNCx0L7RgtCwINGB0L4g0YHQu9Cw0LHRi9C8?= =?utf-8?b?0LggKHdlYWtlbikg0YHRgdGL0LvQutCw0LzQuCDQsiBQZXJs?= Message-ID: <193111493720008@web21g.yandex.ru> Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Tue May 2 03:29:37 2017 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Tue, 2 May 2017 13:29:37 +0300 Subject: [Moscow.pm] =?utf-8?b?0KDQsNCx0L7RgtCwINGB0L4g0YHQu9Cw0LHRi9C8?= =?utf-8?b?0LggKHdlYWtlbikg0YHRgdGL0LvQutCw0LzQuCDQsiBQZXJs?= In-Reply-To: <193111493720008@web21g.yandex.ru> References: <193111493720008@web21g.yandex.ru> Message-ID: 2 мая 2017 г., 13:13 пользователь Коваль Вячеслав via Moscow-pm написал: > Здравствуйте! > Имеется такой код > > #!/usr/bin/env perl > use strict; > use warnings; > > use DDP; > use Scalar::Util qw/weaken/; > > my $struct = {abc => [qw/1 2 3/]}; > sub set_data { > my $node = shift; > my $ref = [ $node ]; > weaken($ref->[0]); > return $ref > } > my $arr_ref = set_data($struct); > p $arr_ref; > p $struct; > weaken $struct; > say '-' x 20; > p $arr_ref; > p $struct; > > вывод: > > \ [ > [0] { > abc [ > [0] 1, > [1] 2, > [2] 3 > ] > } (weak) > ] > \ { > abc [ > [0] 1, > [1] 2, > [2] 3 > ] > } > -------------------- > \ [ > [0] undef > ] > undef > > Не пойму, почему после weaken $struct обнуляется/удаляется структура > $struct, ну и соответственно удаляется ссылка в $arr_ref Потому что все ссылки на хеш, хранившийся у вас ранее в $struct - слабые. Нет ни одной "сильной" ссылки, в результате чего ссылка превращается в undef. > Вариант с блоком кода в документации понятен > > { > my $var; > $ref = \$var; > weaken($ref); # Make $ref a weak reference > } > # $ref is now undef > > или в однострочнике: > > $ perl -MScalar::Util=weaken -MDDP -E 'my $ref; { my $var = 5; $ref = > \$var; weaken($ref); }; p $ref' > undef > > когда мы делаем ссылку слабой и по выходу из блока ссылка уничтожается () > > а вот вариант, когда мы еще раз вызываем weaken на структуре, в результате > она уничтожается не до конца понятен Там до блока кода есть еще несколько слов о том, как это вообще все работает :) ... weak reference. This means that it will not hold a reference count on the object it references. Also, when the reference count on that object reaches zero, the reference will be set to undef... > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ilya Chesnokov From pborissovster на gmail.com Tue May 2 09:10:29 2017 From: pborissovster на gmail.com (=?UTF-8?B?0J/QsNCy0LXQuyDQkdC+0YDQuNGB0L7Qsg==?=) Date: Tue, 2 May 2017 19:10:29 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> <1493377069.616076341@f173.i.mail.ru> <1493395211.936442346@f395.i.mail.ru> Message-ID: А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и не важно перловый это процесс или какой другой... 29 апреля 2017 г., 0:10 пользователь Вадим Власов via Moscow-pm < moscow-pm на pm.org> написал: > Вы не поверите, но у многих на перле именно что демоны и написаны. И то > что перл не возвращает системе память - это проблема, да. > > 28 апр. 2017 г. 19:16 пользователь "Alessandro Gorohovski via Moscow-pm" < > moscow-pm на pm.org> написал: > > Илья, Здравствуйте! > > 28 апреля 2017 г., 19:00 пользователь Илья Винокуров via Moscow-pm < > moscow-pm на pm.org> написал: > > Здравствуйте, Александр! >> >> Пятница, 28 апреля 2017, 16:07 +03:00 от Alessandro Gorohovski < >> an.gorohovski на gmail.com>: >> >> 28 апреля 2017 г., 13:57 пользователь Илья Винокуров via Moscow-pm < >> moscow-pm на pm.org> написал: >> >> Здравствуйуте, коллеги! >> >> Пятница, 28 апреля 2017, 0:24 +03:00 от Daniel Podolsky via Moscow-pm < >> moscow-pm на pm.org>: >> >> > Может не в тему, но что пишем и почему нет смысла? >> >> а что ни пиши - проблемы все те же три: >> >> 1. нет возможности утилизировать несколько ядер в рамках одного процесса. >> 2. нет семплирующего профайлера. этот, кстати, мог бы уже и быть - >> вроде бы, последний perl5 использует стандартный стек. но - нетути. >> 3. нет JIT >> >> >> PHP 7 смог значительно ускориться и без JIT. >> >> По большому счету и обычного компилятора хватит... >> >> А вот проблема все же есть - Perl не умеет возвращать в систему >> аллоцированную память... >> >> Интересно, а почему Вы так решили? >> Это странно, что, по завершению выполнения perl-скриптов, в систему не >> возвращается память? >> >> >> Я не говорил про *завершение* работы скрипта - это вы придумали. >> >> Я имел в виду в *процессе работы*. >> > Ладно, не оправдывайтесь, "у меня все ходы записаны" > :) > > Освободившуюся память перл не возвращает системе, но повторно использует >> по необходимости. >> > А куда он (Perl) её девает? > Вы рассуждаете так, будто Perl этот какой то процесс/сервис/демон, > постоянно работающий в системе. > > Проблему искусственно не надо надумывать. > Получается сотни тысяч (если не больше) систем по миру работают > и не знают о страшных проблемах. > > С почтением, >> Илья Винокуров. >> >> >> С уважением, >> Александр. >> >> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- -- С уважением, Борисов Павел программист ООО "Ф-Лайн Софтвер" ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From evdokimov.denis на gmail.com Tue May 2 09:44:20 2017 From: evdokimov.denis на gmail.com (Denis Evdokimov) Date: Tue, 02 May 2017 16:44:20 +0000 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> <1493377069.616076341@f173.i.mail.ru> <1493395211.936442346@f395.i.mail.ru> Message-ID: Я точно помню, что перл в винде память возвращал. Тестировал это кучу лет назад вт, 2 мая 2017, 18:12 Павел Борисов via Moscow-pm : > А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти > от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за > каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и > не важно перловый это процесс или какой другой... > > 29 апреля 2017 г., 0:10 пользователь Вадим Власов via Moscow-pm < > moscow-pm на pm.org> написал: > >> Вы не поверите, но у многих на перле именно что демоны и написаны. И то >> что перл не возвращает системе память - это проблема, да. >> > >> >> 28 апр. 2017 г. 19:16 пользователь "Alessandro Gorohovski via Moscow-pm" < >> moscow-pm на pm.org> написал: >> >> Илья, Здравствуйте! >> >> 28 апреля 2017 г., 19:00 пользователь Илья Винокуров via Moscow-pm < >> moscow-pm на pm.org> написал: >> >> Здравствуйте, Александр! >>> >>> Пятница, 28 апреля 2017, 16:07 +03:00 от Alessandro Gorohovski < >>> an.gorohovski на gmail.com>: >>> >>> 28 апреля 2017 г., 13:57 пользователь Илья Винокуров via Moscow-pm < >>> moscow-pm на pm.org> написал: >>> >>> Здравствуйуте, коллеги! >>> >>> Пятница, 28 апреля 2017, 0:24 +03:00 от Daniel Podolsky via Moscow-pm < >>> moscow-pm на pm.org>: >>> >>> > Может не в тему, но что пишем и почему нет смысла? >>> >>> а что ни пиши - проблемы все те же три: >>> >>> 1. нет возможности утилизировать несколько ядер в рамках одного процесса. >>> 2. нет семплирующего профайлера. этот, кстати, мог бы уже и быть - >>> вроде бы, последний perl5 использует стандартный стек. но - нетути. >>> 3. нет JIT >>> >>> >>> PHP 7 смог значительно ускориться и без JIT. >>> >>> По большому счету и обычного компилятора хватит... >>> >>> А вот проблема все же есть - Perl не умеет возвращать в систему >>> аллоцированную память... >>> >>> Интересно, а почему Вы так решили? >>> Это странно, что, по завершению выполнения perl-скриптов, в систему не >>> возвращается память? >>> >>> >>> Я не говорил про *завершение* работы скрипта - это вы придумали. >>> >>> Я имел в виду в *процессе работы*. >>> >> Ладно, не оправдывайтесь, "у меня все ходы записаны" >> :) >> >> Освободившуюся память перл не возвращает системе, но повторно использует >>> по необходимости. >>> >> А куда он (Perl) её девает? >> Вы рассуждаете так, будто Perl этот какой то процесс/сервис/демон, >> постоянно работающий в системе. >> >> Проблему искусственно не надо надумывать. >> Получается сотни тысяч (если не больше) систем по миру работают >> и не знают о страшных проблемах. >> >> С почтением, >>> Илья Винокуров. >>> >>> >>> С уважением, >>> Александр. >>> >>> >>> >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >>> >>> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> > -- > -- > С уважением, > Борисов Павел > программист > ООО "Ф-Лайн Софтвер" > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From theathlet на yandex.ru Tue May 2 09:43:43 2017 From: theathlet на yandex.ru (theathlet на yandex.ru) Date: Tue, 2 May 2017 19:43:43 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> <1493377069.616076341@f173.i.mail.ru> <1493395211.936442346@f395.i.mail.ru> Message-ID: <20170502194341.hfl0IN64@smtp2p.mail.yandex.net> Вот здесь https://www.linux.org.ru/forum/development/6810210 обсуждается освобождедие памяти в python и в комментах пишется, что память может возвращаться либо с помощью malloc_trim, либо на malloc с реализацией с помощью mmap (тогда можно будет освободить память с помощью munmap). Вообще трудно сказать где это реально реализовано, на мой взгляд память обычно не возвращают ОС, но возвращают процессу на переиспользование Отправлено с моего телефона на Windows 10 От: Павел Борисов via Moscow-pm Отправлено: 2 мая 2017 г. в 19:12 Кому: Moscow.pm group Копия: Павел Борисов Тема: Re: [Moscow.pm] Чуток поругал перл А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и не важно перловый это процесс или какой другой... 29 апреля 2017 г., 0:10 пользователь Вадим Власов via Moscow-pm написал: Вы не поверите, но у многих на перле именно что демоны и написаны. И то что перл не возвращает системе память - это проблема, да. 28 апр. 2017 г. 19:16 пользователь "Alessandro Gorohovski via Moscow-pm" написал: Илья, Здравствуйте! 28 апреля 2017 г., 19:00 пользователь Илья Винокуров via Moscow-pm написал: Здравствуйте, Александр! Пятница, 28 апреля 2017, 16:07 +03:00 от Alessandro Gorohovski : 28 апреля 2017 г., 13:57 пользователь Илья Винокуров via Moscow-pm написал: Здравствуйуте, коллеги! Пятница, 28 апреля 2017, 0:24 +03:00 от Daniel Podolsky via Moscow-pm : > Может не в тему, но что пишем и почему нет смысла? а что ни пиши - проблемы все те же три: 1. нет возможности утилизировать несколько ядер в рамках одного процесса. 2. нет семплирующего профайлера. этот, кстати, мог бы уже и быть - вроде бы, последний perl5 использует стандартный стек. но - нетути. 3. нет JIT PHP 7 смог значительно ускориться и без JIT. По большому счету и обычного компилятора хватит... А вот проблема все же есть - Perl не умеет возвращать в систему аллоцированную память... Интересно, а почему Вы так решили?   Это странно, что, по завершению выполнения perl-скриптов, в систему не возвращается память? Я не говорил про завершение работы скрипта - это вы придумали. Я имел в виду в процессе работы. Ладно, не оправдывайтесь, "у меня все ходы записаны" :) Освободившуюся память перл не возвращает системе, но повторно использует по необходимости. А куда он (Perl) её девает? Вы рассуждаете так, будто  Perl этот какой то процесс/сервис/демон, постоянно работающий в системе. Проблему искусственно не надо надумывать. Получается сотни тысяч (если не больше) систем по миру работают и не знают о страшных проблемах. С почтением,   Илья Винокуров. С уважением, Александр. -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org -- -- С уважением, Борисов Павел программист ООО "Ф-Лайн Софтвер" ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From evgeniy на just4i.ru Tue May 2 10:04:04 2017 From: evgeniy на just4i.ru (Evgeniy Vansevich) Date: Tue, 02 May 2017 20:04:04 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> <1493377069.616076341@f173.i.mail.ru> <1493395211.936442346@f395.i.mail.ru> Message-ID: <1993631493744644@web22o.yandex.ru> Вложение в формате HTML было извлечено… URL: From ilvin на mail.ru Tue May 2 14:20:30 2017 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Wed, 03 May 2017 00:20:30 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> Message-ID: <1493760030.805335825@f451.i.mail.ru> Здравствуйте! >Вторник, 2 мая 2017, 19:12 +03:00 от Павел Борисов via Moscow-pm : > >А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и не важно перловый это процесс или какой другой... C/C++ в любой OS malloc/free (new/delete). С почтением,   Илья Винокуров. > >29 апреля 2017 г., 0:10 пользователь Вадим Власов via Moscow-pm < moscow-pm на pm.org > написал: >>Вы не поверите, но у многих на перле именно что демоны и написаны. И то что перл не возвращает системе память - это проблема, да. >> >>28 апр. 2017 г. 19:16 пользователь "Alessandro Gorohovski via Moscow-pm" < moscow-pm на pm.org > написал: >> >>>Илья, Здравствуйте! >>> >>>28 апреля 2017 г., 19:00 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org > написал: >>> >>>>Здравствуйте, Александр! >>>> >>>>>Пятница, 28 апреля 2017, 16:07 +03:00 от Alessandro Gorohovski < an.gorohovski на gmail.com >: >>>>> >>>>>28 апреля 2017 г., 13:57 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org > написал: >>>>>>Здравствуйуте, коллеги! >>>>>> >>>>>>>Пятница, 28 апреля 2017, 0:24 +03:00 от Daniel Podolsky via Moscow-pm < moscow-pm на pm.org >: >>>>>>> >>>>>>>> Может не в тему, но что пишем и почему нет смысла? >>>>>>> >>>>>>>а что ни пиши - проблемы все те же три: >>>>>>> >>>>>>>1. нет возможности утилизировать несколько ядер в рамках одного процесса. >>>>>>>2. нет семплирующего профайлера. этот, кстати, мог бы уже и быть - >>>>>>>вроде бы, последний perl5 использует стандартный стек. но - нетути. >>>>>>>3. нет JIT >>>>>>PHP 7 смог значительно ускориться и без JIT. >>>>>> >>>>>>По большому счету и обычного компилятора хватит... >>>>>> >>>>>>А вот проблема все же есть - Perl не умеет возвращать в систему аллоцированную память... >>>>>> >>>>>Интересно, а почему Вы так решили?   >>>>>Это странно, что, по завершению выполнения perl-скриптов, в систему не возвращается память? >>>>Я не говорил про завершение работы скрипта - это вы придумали. >>>> >>>>Я имел в виду в процессе работы . >>>Ладно, не оправдывайтесь, "у меня все ходы записаны" >>>:) >>> >>>>Освободившуюся память перл не возвращает системе, но повторно использует по необходимости. >>>А куда он (Perl) её девает? >>>Вы рассуждаете так, будто  Perl этот какой то процесс/сервис/демон, постоянно работающий в системе. >>> >>>Проблему искусственно не надо надумывать. >>>Получается сотни тысяч (если не больше) систем по миру работают >>>и не знают о страшных проблемах. >>> >>>>>>С почтением, >>>>>>  Илья Винокуров. >>>>> >>>>>С уважением, >>>>>Александр. >>>>> >>>> >>>> >>>>-- >>>>Moscow.pm mailing list >>>>moscow-pm на pm.org | http://moscow.pm.org >>>> >>> >>> >>>-- >>>Moscow.pm mailing list >>>moscow-pm на pm.org | http://moscow.pm.org >>> >> >> >>-- >>Moscow.pm mailing list >>moscow-pm на pm.org | http://moscow.pm.org >> > > > >-- >-- >С уважением, >Борисов Павел >программист >ООО "Ф-Лайн Софтвер" >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From an.gorohovski на gmail.com Wed May 3 00:17:16 2017 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Wed, 3 May 2017 10:17:16 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: <1493760030.805335825@f451.i.mail.ru> References: <1493218634.2391.1@smtp.mail.ru> <1493760030.805335825@f451.i.mail.ru> Message-ID: Здравствуйте, 3 мая 2017 г., 0:20 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org> написал: > Здравствуйте! > > Вторник, 2 мая 2017, 19:12 +03:00 от Павел Борисов via Moscow-pm < > moscow-pm на pm.org>: > > А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти > от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за > каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и > не важно перловый это процесс или какой другой... > > > C/C++ в любой OS malloc/free (new/delete). > Вы не поверите, но тут не всё так однозначно. > С почтением, > Илья Винокуров. > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From pborissovster на gmail.com Wed May 3 00:23:09 2017 From: pborissovster на gmail.com (=?UTF-8?B?0J/QsNCy0LXQuyDQkdC+0YDQuNGB0L7Qsg==?=) Date: Wed, 3 May 2017 10:23:09 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: <1493760030.805335825@f451.i.mail.ru> References: <1493218634.2391.1@smtp.mail.ru> <1493760030.805335825@f451.i.mail.ru> Message-ID: И снова дико извиняюсь, но разве free() возвращает память операционке ? Нет, если она вызывается непосредственно перед выходом из программы (процесса), то конечно, память возвращается ОС, но по ходу выполнения процесса free() просто ОСВОБОЖДАЕТ память для повторного использования в ЭТОМ же процессе. Поправьте меня, если я не прав... 3 мая 2017 г., 0:20 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org> написал: > Здравствуйте! > > Вторник, 2 мая 2017, 19:12 +03:00 от Павел Борисов via Moscow-pm < > moscow-pm на pm.org>: > > А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти > от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за > каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и > не важно перловый это процесс или какой другой... > > > C/C++ в любой OS malloc/free (new/delete). > > С почтением, > Илья Винокуров. > > > > 29 апреля 2017 г., 0:10 пользователь Вадим Власов via Moscow-pm < > moscow-pm на pm.org> написал: > > Вы не поверите, но у многих на перле именно что демоны и написаны. И то > что перл не возвращает системе память - это проблема, да. > > 28 апр. 2017 г. 19:16 пользователь "Alessandro Gorohovski via Moscow-pm" < > moscow-pm на pm.org> написал: > > Илья, Здравствуйте! > > 28 апреля 2017 г., 19:00 пользователь Илья Винокуров via Moscow-pm < > moscow-pm на pm.org> написал: > > Здравствуйте, Александр! > > Пятница, 28 апреля 2017, 16:07 +03:00 от Alessandro Gorohovski < > an.gorohovski на gmail.com>: > > 28 апреля 2017 г., 13:57 пользователь Илья Винокуров via Moscow-pm < > moscow-pm на pm.org> написал: > > Здравствуйуте, коллеги! > > Пятница, 28 апреля 2017, 0:24 +03:00 от Daniel Podolsky via Moscow-pm < > moscow-pm на pm.org>: > > > Может не в тему, но что пишем и почему нет смысла? > > а что ни пиши - проблемы все те же три: > > 1. нет возможности утилизировать несколько ядер в рамках одного процесса. > 2. нет семплирующего профайлера. этот, кстати, мог бы уже и быть - > вроде бы, последний perl5 использует стандартный стек. но - нетути. > 3. нет JIT > > > PHP 7 смог значительно ускориться и без JIT. > > По большому счету и обычного компилятора хватит... > > А вот проблема все же есть - Perl не умеет возвращать в систему > аллоцированную память... > > Интересно, а почему Вы так решили? > Это странно, что, по завершению выполнения perl-скриптов, в систему не > возвращается память? > > > Я не говорил про *завершение* работы скрипта - это вы придумали. > > Я имел в виду в *процессе работы*. > > Ладно, не оправдывайтесь, "у меня все ходы записаны" > :) > > Освободившуюся память перл не возвращает системе, но повторно использует > по необходимости. > > А куда он (Perl) её девает? > Вы рассуждаете так, будто Perl этот какой то процесс/сервис/демон, > постоянно работающий в системе. > > Проблему искусственно не надо надумывать. > Получается сотни тысяч (если не больше) систем по миру работают > и не знают о страшных проблемах. > > С почтением, > Илья Винокуров. > > > С уважением, > Александр. > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > -- > С уважением, > Борисов Павел > программист > ООО "Ф-Лайн Софтвер" > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- -- С уважением, Борисов Павел программист ООО "Ф-Лайн Софтвер" ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From asan999 на gmail.com Wed May 3 01:01:00 2017 From: asan999 на gmail.com (Asyakin Andrey) Date: Wed, 3 May 2017 11:01:00 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> <1493760030.805335825@f451.i.mail.ru> Message-ID: <20170503080100.GA1230@asan13> Ну перед выходом из программы free можно и не вызывать) On Wed, May 03, 2017 at 10:23:09AM +0300, Павел Борисов via Moscow-pm wrote: > И снова дико извиняюсь, но разве free() возвращает память операционке ? > Нет, если она вызывается непосредственно перед выходом из программы > (процесса), то конечно, память возвращается ОС, но по ходу выполнения > процесса free() просто ОСВОБОЖДАЕТ память для повторного использования > в ЭТОМ же процессе. Поправьте меня, если я не прав... > > 3 мая 2017 г., 0:20 пользователь Илья Винокуров via Moscow-pm > <[1]moscow-pm на pm.org> написал: > > Здравствуйте! > > Вторник, 2 мая 2017, 19:12 +03:00 от Павел Борисов via Moscow-pm > <[2]moscow-pm на pm.org>: > > А приведите, плиз, пример ОС, в которой вообще реализован возврат > памяти от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА > (извините за каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это > не реализовано, и не важно перловый это процесс или какой другой... > > C/C++ в любой OS malloc/free (new/delete). > С почтением, > Илья Винокуров. > From onokonem на gmail.com Wed May 3 02:44:57 2017 From: onokonem на gmail.com (Daniel Podolsky) Date: Wed, 3 May 2017 12:44:57 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: <20170503080100.GA1230@asan13> References: <1493218634.2391.1@smtp.mail.ru> <1493760030.805335825@f451.i.mail.ru> <20170503080100.GA1230@asan13> Message-ID: коллеги, ну полная же херня. с практической точки зрения никакого возврата памяти нет - потребление или стабильно, или растет. а даже если бы и был - нахера он нужен? другой программе эту память отдавать все равно нельзя - а вдруг она первой программе понадобится опять... и это, согласитесь, характерно для перл-сообщества - обсуждать какую-то ерунду вместо реальных проблем. From ilvin на mail.ru Wed May 3 02:49:00 2017 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Wed, 03 May 2017 12:49:00 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> <1493760030.805335825@f451.i.mail.ru> Message-ID: <1493804940.548653183@f322.i.mail.ru> >Среда, 3 мая 2017, 10:24 +03:00 от Павел Борисов via Moscow-pm : > >И снова дико извиняюсь, но разве free() возвращает память операционке ? Нет, если она вызывается непосредственно перед выходом из программы (процесса), то конечно, память возвращается ОС, но по ходу выполнения процесса free() просто ОСВОБОЖДАЕТ память для повторного использования в ЭТОМ же процессе. Поправьте меня, если я не прав... Функции malloc/free работают с кучей. malloc либо использует свободный кусок из кучи, либо запрашивает еще памяти у OS. free ()помечает область памяти свободной и эта память в дальнейшем может использоваться повторно или может быть отдана OS. > >3 мая 2017 г., 0:20 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org > написал: >>Здравствуйте! >> >>>Вторник, 2 мая 2017, 19:12 +03:00 от Павел Борисов via Moscow-pm < moscow-pm на pm.org >: >>> >>>А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и не важно перловый это процесс или какой другой... >>C/C++ в любой OS malloc/free (new/delete). >> >>С почтением, >>  Илья Винокуров. >> >> >>> >>>29 апреля 2017 г., 0:10 пользователь Вадим Власов via Moscow-pm < moscow-pm на pm.org > написал: >>>>Вы не поверите, но у многих на перле именно что демоны и написаны. И то что перл не возвращает системе память - это проблема, да. >>>> >>>>28 апр. 2017 г. 19:16 пользователь "Alessandro Gorohovski via Moscow-pm" < moscow-pm на pm.org > написал: >>>> >>>>>Илья, Здравствуйте! >>>>> >>>>>28 апреля 2017 г., 19:00 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org > написал: >>>>> >>>>>>Здравствуйте, Александр! >>>>>> >>>>>>>Пятница, 28 апреля 2017, 16:07 +03:00 от Alessandro Gorohovski < an.gorohovski на gmail.com >: >>>>>>> >>>>>>>28 апреля 2017 г., 13:57 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org > написал: >>>>>>>>Здравствуйуте, коллеги! >>>>>>>> >>>>>>>>>Пятница, 28 апреля 2017, 0:24 +03:00 от Daniel Podolsky via Moscow-pm < moscow-pm на pm.org >: >>>>>>>>> >>>>>>>>>> Может не в тему, но что пишем и почему нет смысла? >>>>>>>>> >>>>>>>>>а что ни пиши - проблемы все те же три: >>>>>>>>> >>>>>>>>>1. нет возможности утилизировать несколько ядер в рамках одного процесса. >>>>>>>>>2. нет семплирующего профайлера. этот, кстати, мог бы уже и быть - >>>>>>>>>вроде бы, последний perl5 использует стандартный стек. но - нетути. >>>>>>>>>3. нет JIT >>>>>>>>PHP 7 смог значительно ускориться и без JIT. >>>>>>>> >>>>>>>>По большому счету и обычного компилятора хватит... >>>>>>>> >>>>>>>>А вот проблема все же есть - Perl не умеет возвращать в систему аллоцированную память... >>>>>>>> >>>>>>>Интересно, а почему Вы так решили?   >>>>>>>Это странно, что, по завершению выполнения perl-скриптов, в систему не возвращается память? >>>>>>Я не говорил про завершение работы скрипта - это вы придумали. >>>>>> >>>>>>Я имел в виду в процессе работы . >>>>>Ладно, не оправдывайтесь, "у меня все ходы записаны" >>>>>:) >>>>> >>>>>>Освободившуюся память перл не возвращает системе, но повторно использует по необходимости. >>>>>А куда он (Perl) её девает? >>>>>Вы рассуждаете так, будто  Perl этот какой то процесс/сервис/демон, постоянно работающий в системе. >>>>> >>>>>Проблему искусственно не надо надумывать. >>>>>Получается сотни тысяч (если не больше) систем по миру работают >>>>>и не знают о страшных проблемах. >>>>> >>>>>>>>С почтением, >>>>>>>>  Илья Винокуров. >>>>>>> >>>>>>>С уважением, >>>>>>>Александр. >>>>>>> >>>>>> >>>>>> >>>>>>-- >>>>>>Moscow.pm mailing list >>>>>>moscow-pm на pm.org | http://moscow.pm.org >>>>>> >>>>> >>>>> >>>>>-- >>>>>Moscow.pm mailing list >>>>>moscow-pm на pm.org | http://moscow.pm.org >>>>> >>>> >>>> >>>>-- >>>>Moscow.pm mailing list >>>>moscow-pm на pm.org | http://moscow.pm.org >>>> >>> >>> >>> >>>-- >>>-- >>>С уважением, >>>Борисов Павел >>>программист >>>ООО "Ф-Лайн Софтвер" >>>-- >>>Moscow.pm mailing list >>>moscow-pm на pm.org | http://moscow.pm.org >> >> >>-- >>Moscow.pm mailing list >>moscow-pm на pm.org | http://moscow.pm.org >> > > > >-- >-- >С уважением, >Борисов Павел >программист >ООО "Ф-Лайн Софтвер" >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From agrishaev на gmail.com Wed May 3 04:33:21 2017 From: agrishaev на gmail.com (=?UTF-8?B?0KLQvtC70Y/QvSBJSQ==?=) Date: Wed, 3 May 2017 14:33:21 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: <1493804940.548653183@f322.i.mail.ru> References: <1493218634.2391.1@smtp.mail.ru> <1493760030.805335825@f451.i.mail.ru> <1493804940.548653183@f322.i.mail.ru> Message-ID: 3 мая 2017 г., 12:49 пользователь Илья Винокуров via Moscow-pm < moscow-pm на pm.org> написал: > > Среда, 3 мая 2017, 10:24 +03:00 от Павел Борисов via Moscow-pm < > moscow-pm на pm.org>: > > И снова дико извиняюсь, но разве free() возвращает память операционке ? > Нет, если она вызывается непосредственно перед выходом из программы > (процесса), то конечно, память возвращается ОС, но по ходу выполнения > процесса free() просто ОСВОБОЖДАЕТ память для повторного использования в > ЭТОМ же процессе. Поправьте меня, если я не прав... > > > Функции malloc/free работают с кучей. malloc либо использует свободный > кусок из кучи, либо запрашивает еще памяти у OS. > free()помечает область памяти свободной и эта память в дальнейшем может > использоваться повторно или может быть отдана OS. > > Ключевое слово "может быть отдана OS". А в реальности в тестах может память отдаваться системе, а при реальной нагрузке демон будет её только потреблять. А если надо, то такое возможно, если написать свои malloc/free функции, либо достать правильную библиотеку. Oracle в старых версиях так и делал, может только эти функции по другому называл. > > > 3 мая 2017 г., 0:20 пользователь Илья Винокуров via Moscow-pm < > moscow-pm на pm.org> написал: > > Здравствуйте! > > Вторник, 2 мая 2017, 19:12 +03:00 от Павел Борисов via Moscow-pm < > moscow-pm на pm.org>: > > А приведите, плиз, пример ОС, в которой вообще реализован возврат памяти > от процесса обратно операционке В ПРОЦЕССЕ РАБОТЫ ПРОЦЕССА (извините за > каламбур) ? Насколько я знаю, ни в Линухе, ни в Винде это не реализовано, и > не важно перловый это процесс или какой другой... > > > C/C++ в любой OS malloc/free (new/delete). > > С почтением, > Илья Винокуров. > > > > 29 апреля 2017 г., 0:10 пользователь Вадим Власов via Moscow-pm < > moscow-pm на pm.org> написал: > > Вы не поверите, но у многих на перле именно что демоны и написаны. И то > что перл не возвращает системе память - это проблема, да. > > 28 апр. 2017 г. 19:16 пользователь "Alessandro Gorohovski via Moscow-pm" < > moscow-pm на pm.org> написал: > > Илья, Здравствуйте! > > 28 апреля 2017 г., 19:00 пользователь Илья Винокуров via Moscow-pm < > moscow-pm на pm.org> написал: > > Здравствуйте, Александр! > > Пятница, 28 апреля 2017, 16:07 +03:00 от Alessandro Gorohovski < > an.gorohovski на gmail.com>: > > 28 апреля 2017 г., 13:57 пользователь Илья Винокуров via Moscow-pm < > moscow-pm на pm.org> написал: > > Здравствуйуте, коллеги! > > Пятница, 28 апреля 2017, 0:24 +03:00 от Daniel Podolsky via Moscow-pm < > moscow-pm на pm.org>: > > > Может не в тему, но что пишем и почему нет смысла? > > а что ни пиши - проблемы все те же три: > > 1. нет возможности утилизировать несколько ядер в рамках одного процесса. > 2. нет семплирующего профайлера. этот, кстати, мог бы уже и быть - > вроде бы, последний perl5 использует стандартный стек. но - нетути. > 3. нет JIT > > > PHP 7 смог значительно ускориться и без JIT. > > По большому счету и обычного компилятора хватит... > > А вот проблема все же есть - Perl не умеет возвращать в систему > аллоцированную память... > > Интересно, а почему Вы так решили? > Это странно, что, по завершению выполнения perl-скриптов, в систему не > возвращается память? > > > Я не говорил про *завершение* работы скрипта - это вы придумали. > > Я имел в виду в *процессе работы*. > > Ладно, не оправдывайтесь, "у меня все ходы записаны" > :) > > Освободившуюся память перл не возвращает системе, но повторно использует > по необходимости. > > А куда он (Perl) её девает? > Вы рассуждаете так, будто Perl этот какой то процесс/сервис/демон, > постоянно работающий в системе. > > Проблему искусственно не надо надумывать. > Получается сотни тысяч (если не больше) систем по миру работают > и не знают о страшных проблемах. > > С почтением, > Илья Винокуров. > > > С уважением, > Александр. > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > -- > С уважением, > Борисов Павел > программист > ООО "Ф-Лайн Софтвер" > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > -- > С уважением, > Борисов Павел > программист > ООО "Ф-Лайн Софтвер" > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alexandre на frolov.pp.ru Thu May 4 23:41:34 2017 From: alexandre на frolov.pp.ru (=?koi8-r?B?4czFy9PBzsTSIObSz8zP1w==?=) Date: Fri, 5 May 2017 09:41:34 +0300 Subject: [Moscow.pm] =?koi8-r?b?89TSwc7OwdEg0NLPwszFzcEg0yBOZXQ6OkROUzo6?= =?koi8-r?b?UmVzb2x2ZXI=?= Message-ID: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for x86_64-linux-gnu-thread-multi, Debian 8.7: my $res = Net::DNS::Resolver->new(debug => 1); my $query = $res->search('ya.ru'); if ($query) { foreach my $rr ($query->answer) { next unless ($rr->type eq "A") or ($rr->type eq "MX"); my $address = $rr->{address}; print $rr->string."\n"; print $rr->{ address }."\n"; } } При попытке вывести на консоль $rr->{ address } получаю нечитаемую строку, хотя в $rr->string все нормально: ya.ru. 2015 IN A 87.250.250.242 W--- Подскажите, пожалуйста, в чем может быть проблема? С уважением, Александр Фролов From iskhartakh на gmail.com Thu May 4 23:51:17 2017 From: iskhartakh на gmail.com (Anatoly Y.) Date: Fri, 5 May 2017 13:51:17 +0700 Subject: [Moscow.pm] =?utf-8?b?0KHRgtGA0LDQvdC90LDRjyDQv9GA0L7QsdC70LU=?= =?utf-8?b?0LzQsCDRgSBOZXQ6OkROUzo6UmVzb2x2ZXI=?= In-Reply-To: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> References: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> Message-ID: use Socket; print inet_ntoa($rr->{address}); > On 5 May 2017, at 13:41, Александр Фролов via Moscow-pm wrote: > > Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for > x86_64-linux-gnu-thread-multi, Debian 8.7: > > my $res = Net::DNS::Resolver->new(debug => 1); > my $query = $res->search('ya.ru'); > if ($query) > { > foreach my $rr ($query->answer) > { > next unless ($rr->type eq "A") or ($rr->type eq "MX"); > my $address = $rr->{address}; > print $rr->string."\n"; > print $rr->{ address }."\n"; > } > } > > При попытке вывести на консоль $rr->{ address } получаю нечитаемую строку, > хотя в $rr->string все нормально: > > ya.ru. 2015 IN A 87.250.250.242 > W--- > > Подскажите, пожалуйста, в чем может быть проблема? > > С уважением, > Александр Фролов > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From evgeniy на kosov.su Thu May 4 23:57:10 2017 From: evgeniy на kosov.su (=?UTF-8?B?0JXQstCz0LXQvdC40Lkg0JrQvtGB0L7Qsg==?=) Date: Fri, 05 May 2017 09:57:10 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHRgtGA0LDQvdC90LDRjyDQv9GA0L7QsdC70LU=?= =?utf-8?b?0LzQsCDRgSBOZXQ6OkROUzo6UmVzb2x2ZXI=?= In-Reply-To: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> References: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> Message-ID: <1493967429.413900799@f424.i.mail.ru> Александр, А если не нарушать инкапсуляцию и использовать $rr->address вместо $rr->{address}, не станет ли лучше? ЗЫ: для MX-записей "address" не определён. WBR, Евгений >Friday, мая 5, 2017 9:42 AM +03:00 from Александр Фролов via Moscow-pm : > >Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for >x86_64-linux-gnu-thread-multi, Debian 8.7: > >my $res = Net::DNS::Resolver->new(debug => 1); >my $query = $res->search('ya.ru'); >if ($query) >{ >  foreach my $rr ($query->answer) >  { >     next unless ($rr->type eq "A") or ($rr->type eq "MX"); >     my $address = $rr->{address}; >     print $rr->string."\n"; >     print $rr->{ address }."\n"; >  } >} > >При попытке вывести на консоль $rr->{ address } получаю нечитаемую строку, >хотя в $rr->string все нормально: > >ya.ru. 2015 IN A 87.250.250.242 >W--- > >Подскажите, пожалуйста, в чем может быть проблема? > >С уважением, >Александр Фролов > >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alexandre на frolov.pp.ru Thu May 4 23:59:58 2017 From: alexandre на frolov.pp.ru (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCk0YDQvtC70L7Qsg==?=) Date: Fri, 5 May 2017 09:59:58 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHRgtGA0LDQvdC90LDRjyDQv9GA0L7QsdC70LU=?= =?utf-8?b?0LzQsCDRgSBOZXQ6OkROUzo6UmVzb2x2ZXI=?= In-Reply-To: References: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> Message-ID: <008c01d2c56d$35a94ac0$a0fbe040$@frolov.pp.ru> Спасибо, помогло! -----Original Message----- From: Moscow-pm [mailto:moscow-pm-bounces+alexandre=frolov.pp.ru на pm.org] On Behalf Of Anatoly Y. via Moscow-pm Sent: Friday, May 05, 2017 9:51 AM To: Moscow.pm group Cc: Anatoly Y. Subject: Re: [Moscow.pm] Странная проблема с Net::DNS::Resolver use Socket; print inet_ntoa($rr->{address}); > On 5 May 2017, at 13:41, Александр Фролов via Moscow-pm wrote: > > Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for > x86_64-linux-gnu-thread-multi, Debian 8.7: > > my $res = Net::DNS::Resolver->new(debug => 1); > my $query = $res->search('ya.ru'); > if ($query) > { > foreach my $rr ($query->answer) > { > next unless ($rr->type eq "A") or ($rr->type eq "MX"); > my $address = $rr->{address}; > print $rr->string."\n"; > print $rr->{ address }."\n"; > } > } > > При попытке вывести на консоль $rr->{ address } получаю нечитаемую строку, > хотя в $rr->string все нормально: > > ya.ru. 2015 IN A 87.250.250.242 > W--- > > Подскажите, пожалуйста, в чем может быть проблема? > > С уважением, > Александр Фролов > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org From ruslan.zakirov на gmail.com Fri May 5 09:06:42 2017 From: ruslan.zakirov на gmail.com (Ruslan Zakirov) Date: Fri, 5 May 2017 19:06:42 +0300 Subject: [Moscow.pm] =?utf-8?b?0KfRg9GC0L7QuiDQv9C+0YDRg9Cz0LDQuyDQv9C1?= =?utf-8?b?0YDQuw==?= In-Reply-To: References: <1493218634.2391.1@smtp.mail.ru> <1493760030.805335825@f451.i.mail.ru> Message-ID: 2017-05-03 10:23 GMT+03:00 Павел Борисов via Moscow-pm : > И снова дико извиняюсь, но разве free() возвращает память операционке ? > Нет, если она вызывается непосредственно перед выходом из программы > (процесса), то конечно, память возвращается ОС, но по ходу выполнения > процесса free() просто ОСВОБОЖДАЕТ память для повторного использования в > ЭТОМ же процессе. Поправьте меня, если я не прав... И правы и неправы. malloc, realloc, free и друзья реализуются на уровне libc. Вот документация https://www.gnu.org/software/libc/manual/html_node/Memory-Allocation.html. До определенного размера память процессу выделяется из "преаллоцированых" у системы кусков (arenas). Если в такой арене занят хоть один байт, то она не вернется в систему. Если говорить про perl, то тут много вариантов. Откройте malloc.c в исходниках и читайте комменты вначале. Кроме этих опций есть еще опции, которые совсем отключают собственную реализацию malloc в perl. Не помню точное название, но что-то вроде MYMALLOC или MALLOC_WRAP. Есть еще третья сторона: оптимизация выделения памяти под локальные переменные. Если у вас есть код: for ( my $i = 0; $i<@_; $i++) { ... } то будет глупо выделять каждый раз память для SV IV структуры при каждом входе в функцию. Для этих переменных есть специальный массив PADLIST и после окончания блока память не освобождается, а остается зарезервированной для дальнейшего использования. С IV все просто, но вот с SV PV это значит, что все что было выделено под PV останется зарезервировано за этой SV и следовательно функцией. По этому если вы делаете так: sub foo { my $big_data_chunk = shift; ... } foo("x" x 1000_000); Чтобы этого избежать вы делаете предварительно: undef $big_data_chunk; -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Wed May 10 08:52:55 2017 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Wed, 10 May 2017 18:52:55 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHRgtGA0LDQvdC90LDRjyDQv9GA0L7QsdC70LU=?= =?utf-8?b?0LzQsCDRgSBOZXQ6OkROUzo6UmVzb2x2ZXI=?= In-Reply-To: <1493967429.413900799@f424.i.mail.ru> References: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> <1493967429.413900799@f424.i.mail.ru> Message-ID: 5 мая 2017 г., 9:57 пользователь Евгений Косов via Moscow-pm написал: > Александр, > > А если не нарушать инкапсуляцию и использовать $rr->address вместо > $rr->{address}, не станет ли лучше? +1 > ЗЫ: для MX-записей "address" не определён. Доступные методы для каждого типа записи описаны в документации по Net::DNS::RR::*. Соответственно для A-записей в https://metacpan.org/pod/Net::DNS::RR::A, для MX - https://metacpan.org/pod/Net::DNS::RR::MX, ну и т.д. > WBR, > Евгений > > Friday, мая 5, 2017 9:42 AM +03:00 from Александр Фролов via Moscow-pm > : > > > Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for > x86_64-linux-gnu-thread-multi, Debian 8.7: > > my $res = Net::DNS::Resolver->new(debug => 1); > my $query = $res->search('ya.ru'); > if ($query) > { > foreach my $rr ($query->answer) > { > next unless ($rr->type eq "A") or ($rr->type eq "MX"); > my $address = $rr->{address}; > print $rr->string."\n"; > print $rr->{ address }."\n"; > } > } > > При попытке вывести на консоль $rr->{ address } получаю нечитаемую строку, > хотя в $rr->string все нормально: > > ya.ru. 2015 IN A 87.250.250.242 > W--- > > Подскажите, пожалуйста, в чем может быть проблема? > > С уважением, > Александр Фролов > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ilya Chesnokov From alexandre на frolov.pp.ru Wed May 10 09:36:30 2017 From: alexandre на frolov.pp.ru (=?utf-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCk0YDQvtC70L7Qsg==?=) Date: Wed, 10 May 2017 19:36:30 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHRgtGA0LDQvdC90LDRjyDQv9GA0L7QsdC70LU=?= =?utf-8?b?0LzQsCDRgSBOZXQ6OkROUzo6UmVzb2x2ZXI=?= In-Reply-To: References: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> <1493967429.413900799@f424.i.mail.ru> Message-ID: <00b201d2c9ab$93ded2d0$bb9c7870$@frolov.pp.ru> Да, все получилось, и с MX тоже. Большое спасибо! А для валидации кириллических доменов есть какое-то доступное решение, или нужно все делать своими руками? С уважением, Александр Фролов alexandre на frolov.pp.ru --------------------------------------------------- Пожалуйста, при ответе сохраняйте историю переписки. -----Original Message----- From: Moscow-pm [mailto:moscow-pm-bounces+alexandre=frolov.pp.ru на pm.org] On Behalf Of Ilya Chesnokov via Moscow-pm Sent: Wednesday, May 10, 2017 6:53 PM To: Moscow.pm group Cc: Ilya Chesnokov Subject: Re: [Moscow.pm] Странная проблема с Net::DNS::Resolver 5 мая 2017 г., 9:57 пользователь Евгений Косов via Moscow-pm написал: > Александр, > > А если не нарушать инкапсуляцию и использовать $rr->address вместо > $rr->{address}, не станет ли лучше? +1 > ЗЫ: для MX-записей "address" не определён. Доступные методы для каждого типа записи описаны в документации по Net::DNS::RR::*. Соответственно для A-записей в https://metacpan.org/pod/Net::DNS::RR::A, для MX - https://metacpan.org/pod/Net::DNS::RR::MX, ну и т.д. > WBR, > Евгений > > Friday, мая 5, 2017 9:42 AM +03:00 from Александр Фролов via Moscow-pm > : > > > Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for > x86_64-linux-gnu-thread-multi, Debian 8.7: > > my $res = Net::DNS::Resolver->new(debug => 1); > my $query = $res->search('ya.ru'); > if ($query) > { > foreach my $rr ($query->answer) > { > next unless ($rr->type eq "A") or ($rr->type eq "MX"); > my $address = $rr->{address}; > print $rr->string."\n"; > print $rr->{ address }."\n"; > } > } > > При попытке вывести на консоль $rr->{ address } получаю нечитаемую строку, > хотя в $rr->string все нормально: > > ya.ru. 2015 IN A 87.250.250.242 > W--- > > Подскажите, пожалуйста, в чем может быть проблема? > > С уважением, > Александр Фролов > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ilya Chesnokov -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org From gnatyna на gmail.com Wed May 10 09:38:57 2017 From: gnatyna на gmail.com (Alexander Gnatyna) Date: Wed, 10 May 2017 19:38:57 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHRgtGA0LDQvdC90LDRjyDQv9GA0L7QsdC70LU=?= =?utf-8?b?0LzQsCDRgSBOZXQ6OkROUzo6UmVzb2x2ZXI=?= In-Reply-To: <00b201d2c9ab$93ded2d0$bb9c7870$@frolov.pp.ru> References: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> <1493967429.413900799@f424.i.mail.ru> <00b201d2c9ab$93ded2d0$bb9c7870$@frolov.pp.ru> Message-ID: Не забудь залить на цпан :) 10 мая 2017 г. 19:37 пользователь "Александр Фролов via Moscow-pm" < moscow-pm на pm.org> написал: > Да, все получилось, и с MX тоже. Большое спасибо! > А для валидации кириллических доменов есть какое-то доступное решение, или > нужно все делать своими руками? > > С уважением, > Александр Фролов > alexandre на frolov.pp.ru > > --------------------------------------------------- > Пожалуйста, при ответе сохраняйте историю переписки. > > > > -----Original Message----- > From: Moscow-pm [mailto:moscow-pm-bounces+alexandre=frolov.pp.ru на pm.org] > On Behalf Of Ilya Chesnokov via Moscow-pm > Sent: Wednesday, May 10, 2017 6:53 PM > To: Moscow.pm group > Cc: Ilya Chesnokov > Subject: Re: [Moscow.pm] Странная проблема с Net::DNS::Resolver > > 5 мая 2017 г., 9:57 пользователь Евгений Косов via Moscow-pm > написал: > > Александр, > > > > А если не нарушать инкапсуляцию и использовать $rr->address вместо > > $rr->{address}, не станет ли лучше? > > +1 > > > ЗЫ: для MX-записей "address" не определён. > > Доступные методы для каждого типа записи описаны в документации по > Net::DNS::RR::*. > Соответственно для A-записей в > https://metacpan.org/pod/Net::DNS::RR::A, для MX - > https://metacpan.org/pod/Net::DNS::RR::MX, ну и т.д. > > > WBR, > > Евгений > > > > Friday, мая 5, 2017 9:42 AM +03:00 from Александр Фролов via Moscow-pm > > : > > > > > > Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for > > x86_64-linux-gnu-thread-multi, Debian 8.7: > > > > my $res = Net::DNS::Resolver->new(debug => 1); > > my $query = $res->search('ya.ru'); > > if ($query) > > { > > foreach my $rr ($query->answer) > > { > > next unless ($rr->type eq "A") or ($rr->type eq "MX"); > > my $address = $rr->{address}; > > print $rr->string."\n"; > > print $rr->{ address }."\n"; > > } > > } > > > > При попытке вывести на консоль $rr->{ address } получаю нечитаемую > строку, > > хотя в $rr->string все нормально: > > > > ya.ru. 2015 IN A 87.250.250.242 > > W--- > > > > Подскажите, пожалуйста, в чем может быть проблема? > > > > С уважением, > > Александр Фролов > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > > > > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > > > > > -- > Best regards, > Ilya Chesnokov > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alexandre на frolov.pp.ru Wed May 10 09:44:53 2017 From: alexandre на frolov.pp.ru (=?utf-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCk0YDQvtC70L7Qsg==?=) Date: Wed, 10 May 2017 19:44:53 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHRgtGA0LDQvdC90LDRjyDQv9GA0L7QsdC70LU=?= =?utf-8?b?0LzQsCDRgSBOZXQ6OkROUzo6UmVzb2x2ZXI=?= In-Reply-To: References: <008701d2c56a$a3533430$e9f99c90$@frolov.pp.ru> <1493967429.413900799@f424.i.mail.ru> <00b201d2c9ab$93ded2d0$bb9c7870$@frolov.pp.ru> Message-ID: <00cd01d2c9ac$bfdc2800$3f947800$@frolov.pp.ru> Александр, добрый вечер! Пока я сделал только небольшой инструмент для сканирования серверов нашего SAAS-сервиса интернет-магазинов с целью поиска «мертвяков» и различных артефактов. В таком виде нужно, наверное, только мне. Но если там будут полезные модули, обязательно залью! С уважением, Александр Фролов mailto:alexandre на frolov.pp.ru --------------------------------------------------- Пожалуйста, при ответе сохраняйте историю переписки. From: Alexander Gnatyna [mailto:gnatyna на gmail.com] Sent: Wednesday, May 10, 2017 7:39 PM To: Moscow.pm group Cc: Александр Фролов Subject: Re: [Moscow.pm] Странная проблема с Net::DNS::Resolver Не забудь залить на цпан :) 10 мая 2017 г. 19:37 пользователь "Александр Фролов via Moscow-pm" написал: Да, все получилось, и с MX тоже. Большое спасибо! А для валидации кириллических доменов есть какое-то доступное решение, или нужно все делать своими руками? С уважением, Александр Фролов mailto:alexandre на frolov.pp.ru --------------------------------------------------- Пожалуйста, при ответе сохраняйте историю переписки. -----Original Message----- From: Moscow-pm [mailto:mailto:moscow-pm-bounces%2Balexandre=mailto:frolov.pp.ru на pm.org] On Behalf Of Ilya Chesnokov via Moscow-pm Sent: Wednesday, May 10, 2017 6:53 PM To: Moscow.pm group Cc: Ilya Chesnokov Subject: Re: [Moscow.pm] Странная проблема с Net::DNS::Resolver 5 мая 2017 г., 9:57 пользователь Евгений Косов via Moscow-pm написал: > Александр, > > А если не нарушать инкапсуляцию и использовать $rr->address вместо > $rr->{address}, не станет ли лучше? +1 > ЗЫ: для MX-записей "address" не определён. Доступные методы для каждого типа записи описаны в документации по Net::DNS::RR::*. Соответственно для A-записей в https://metacpan.org/pod/Net::DNS::RR::A, для MX - https://metacpan.org/pod/Net::DNS::RR::MX, ну и т.д. > WBR, > Евгений > > Friday, мая 5, 2017 9:42 AM +03:00 from Александр Фролов via Moscow-pm > : > > > Пытаюсь использовать Net::DNS::Resolver на Perl v5.20.2 built for > x86_64-linux-gnu-thread-multi, Debian 8.7: > > my $res = Net::DNS::Resolver->new(debug => 1); > my $query = $res->search('http://ya.ru'); > if ($query) > { > foreach my $rr ($query->answer) > { > next unless ($rr->type eq "A") or ($rr->type eq "MX"); > my $address = $rr->{address}; > print $rr->string."\n"; > print $rr->{ address }."\n"; > } > } > > При попытке вывести на консоль $rr->{ address } получаю нечитаемую строку, > хотя в $rr->string все нормально: > > http://ya.ru. 2015 IN A 87.250.250.242 > W--- > > Подскажите, пожалуйста, в чем может быть проблема? > > С уважением, > Александр Фролов > > -- > Moscow.pm mailing list > mailto:moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > mailto:moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ilya Chesnokov -- Moscow.pm mailing list mailto:moscow-pm на pm.org | http://moscow.pm.org -- Moscow.pm mailing list mailto:moscow-pm на pm.org | http://moscow.pm.org From ponizovsky на gmail.com Mon May 22 01:22:19 2017 From: ponizovsky на gmail.com (Eugene Ponizovsky) Date: Mon, 22 May 2017 11:22:19 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHQuNC90YXRgNC+0L3QvdGL0Lkg0LrQu9C40LU=?= =?utf-8?b?0L3RgiDQuiBSZWRpcyBDbHVzdGVy?= Message-ID: <09F02F50-47A5-4FE8-B052-7A64E899F2BA@gmail.com> Добрый день, коллеги. Сделал тут клиент к Redis Cluster поверх модуля Redis - Redis::ClusterRider https://metacpan.org/pod/Redis::ClusterRider Может кому-нибудь понадобится. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: