2013/6/17 Vladimir Timofeev <vovk...@gmail.com> > 2013/6/17 Ilya Chesnokov <chesnokov.i...@gmail.com>: > > > > 16 июня 2013 г., 8:44 пользователь Иван Бессарабов <i...@bessarabov.ru> > > написал: > > > >> > Мой типичный boilerplate такой: > >> > ... > >> > use autodie qw<:all>; > >> > >> Вот тут пишут что это сильно замедляет работу: > >> > >> > >> > http://blogs.perl.org/users/vyacheslav_matjukhin/2013/06/dont-copy-use-autodie-in-every-module.html > >> > > > > Насколько я понял, не работу, а скорость запуска приложения. > > Ага, тогда померяйте сами ;-) > #!perl > use Benchmark ':all'; > > { > use autodie; > timethese(-2, { 'autodie on' => sub { chdir '/tmp' } }); > } > > { > no autodie; > timethese(-2, { 'autodie off' => sub { chdir '/tmp' } }); > } > > У меня результат такой: > Benchmark: running autodie on for at least 2 CPU seconds... > autodie on: 3 wallclock secs ( 1.96 usr + 0.15 sys = 2.11 CPU) @ > 155649.29/s (n=328420) > Benchmark: running autodie off for at least 2 CPU seconds... > autodie off: 2 wallclock secs ( 0.29 usr + 1.78 sys = 2.07 CPU) @ > 3220760.39/s (n=6666974) > > Нужно мерять:
no autodie; chdir '/tmp' or die "can't change dir"; А иначе получается, что сравниваем код с проверкой ошибок и без проверки. Я результат вам и без бенчмарка скажу. > > > >> > >> 13 июня 2013 г., 14:14 пользователь Maxim Vuets <maxim.vu...@gmail.com> > >> написал: > >> > >>> 2013/6/13 Ruslan Zakirov <r...@bestpractical.com>: > >>> > > >>> > 2013/6/13 Maxim Vuets <maxim.vu...@gmail.com> > >>> >> > >>> >> 2013/6/13 Dmitry L. <dim0...@gmail.com>: > >>> >> > Привет! > >>> >> > > >>> >> > Возник вопрос, а где правильно (не с точки зрения синтаксиса, а > >>> >> > вообще) > >>> >> > и > >>> >> > нагляднее писать use utf8 в файле с модулем? > >>> >> > 1. до package My::Module; > >>> >> > 2. после package My::Module; > >>> >> > >>> >> Прагма utf8 имеет лексическую область видимости. Объявите до --- > будет > >>> >> на файл. После --- на пакет. > >>> > > >>> > > >>> > По этому все лексические прагмы нуно писать до пакета, в том числе > >>> > strict, > >>> > warnings... Один файл - один пакет - это хорошо, но иногда надо два и > >>> > более > >>> > и вот тогда может быть неприятный сюрприз. > >>> > >>> Говоря в общем, да, я согласен (-: Мой типичный boilerplate такой: > >>> > >>> use strict; > >>> use warnings; > >>> use autodie qw<:all>; > >>> use utf8; > >>> use open qw<:utf8 :std>; > >>> > >>> > >>> > >>> > ############################################################################## > >>> package My::Package; > >>> > >>> use Something; > >>> ... > >>> -- > >>> 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 > > > > > > -- > Vladimir Timofeev <vovk...@gmail.com> > -- > 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