2013/6/17 Ilya Chesnokov <[email protected]>:
>
> 16 июня 2013 г., 8:44 пользователь Иван Бессарабов <[email protected]>
> написал:
>
>> > Мой типичный 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)

>
>>
>> 13 июня 2013 г., 14:14 пользователь Maxim Vuets <[email protected]>
>> написал:
>>
>>> 2013/6/13 Ruslan Zakirov <[email protected]>:
>>> >
>>> > 2013/6/13 Maxim Vuets <[email protected]>
>>> >>
>>> >> 2013/6/13 Dmitry L. <[email protected]>:
>>> >> > Привет!
>>> >> >
>>> >> > Возник вопрос, а где правильно (не с точки зрения синтаксиса, а
>>> >> > вообще)
>>> >> > и
>>> >> > нагляднее писать 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
>>> [email protected] | http://moscow.pm.org
>>
>>
>>
>> --
>> Moscow.pm mailing list
>> [email protected] | http://moscow.pm.org
>>
>
>
>
> --
> Best regards,
> Ilya Chesnokov
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>



--
Vladimir Timofeev <[email protected]>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить