Мои 5 копеек.

# opendir; closedir;

time perl -e'for(0..1000000){opendir(my $dir, "/usr") or die; closedir $dir
or die;}'
real    0m2.707s
user    0m1.484s
sys    0m1.192s

time perl -e'use autodie; for(0..1000000){opendir(my $dir, "/usr");
closedir $dir;}'
real    0m19.668s
user    0m17.625s
sys    0m1.948s


# chdir; chdir;

time perl -e'for(0..1000000){chdir "/usr" or die; chdir "/tmp" or die;}'
real    0m0.849s
user    0m0.112s
sys    0m0.732s

time perl -e'use autodie; for(0..1000000){chdir "/usr"; chdir "/tmp"}'
real    0m15.357s
user    0m14.037s
sys    0m1.304s

# А вот тут мы убеждаемся, что замедляется работа, а не старт
time perl -e'use autodie; for(0..1){chdir "/usr"; chdir "/tmp"}'

real    0m0.052s
user    0m0.052s
sys    0m0.000s

P.S. А я так надеялся, что проблема в способе тестирования ((((


17 июня 2013 г., 17:49 пользователь Ruslan Zakirov
<[email protected]>написал:

>
> 2013/6/17 Vladimir Timofeev <[email protected]>
>
>> autodie on:  3 wallclock secs ( 1.92 usr +  0.17 sys =  2.09 CPU) @
>> 149655.50/s (n=312780)
>> Benchmark: running autodie off for at least 2 CPU seconds...
>> autodie off:  1 wallclock secs ( 1.18 usr +  0.89 sys =  2.07 CPU) @
>> 1755538.65/s (n=3633965)
>>
>
> Я не увидел разницу в количестве цифр. Мне показалось, что порядок 2 раза,
> а не 20. Тады ой и грустно.
>
>
> --
> Best regards, Ruslan.
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить