[Moscow.pm] Оптимизация

Ivan B. Serezhkin ivan на serezhkin.com
Ср Дек 5 13:36:08 PST 2007


Denis Evdokimov wrote:
> Я провёл тестирование и наткнулся на интересный момент.
> Простой перебор хеша с помощью each можно ускорить на 12-15%
> 
> Запись, которую обычно используют:
> while(my($key, $value) = each %hash)
> {
> }
> 
> Полностью аналогичная запись:
> {
>     my($key, $value);
>     while(($key, $value) = each %hash)
>     {
>     }
> }
> 
> во втором случае мы получаем прирост производительности оставляя при 
> этом туже область видимости, что и в первом.

Ага, угадайте, где хранятся имена переменных ? =)

Я переписывая цикл
while($condition) {
     do_some_thig_with $cfg->{field}->{subfield};
}

на
my $operand=$cfg->{field}->{subfield};
while($condition) {
     do_some_thig_with $operand;
}


получаю иногда прирост раза в три на коротких циклах.



-- 
Ivan B. Serezhkin


Подробная информация о списке рассылки Moscow-pm