Увеличиваем скорость работы скрипта

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Re: Увеличиваем скорость работы скрипта

Автор оригинала: mit
Народ. Давайте скинимся парочкой советов как сделать так чтобы скрипт работал быстрее. Какие функции оптимальнее использовать и т.п.
Сначала замерь, какие части больше всего тормозят, а потом пытайся их ускорить.

Навряд ли дойдет дело до того, чтобы использовать одинарные кавычки вместо двойных для оптимизации, это бред :)
Скорее всего дело будет в неправильном построении БД или что-нибудь такое
 

zarus

Хитрожопый макак
Re: Re: Увеличиваем скорость работы скрипта

Автор оригинала: varan
Сначала замерь, какие части больше всего тормозят, а потом пытайся их ускорить.

Навряд ли дойдет дело до того, чтобы использовать одинарные кавычки вместо двойных для оптимизации, это бред :)
Скорее всего дело будет в неправильном построении БД или что-нибудь такое
Тогда дополните совет, где (в каких точках кода) лучше всего устанавливать реперы исполнения, чтобы найти узкое место?
Оптимизация "одинарных кавычек" не должна иметь место вообще, так как подобное надо делать во время написания кода, а не после.

-~{}~ 26.12.05 17:22:

Автор оригинала: kvf77
http://php.russofile.ru/ru/translate/unsort/optimizing/

HOW TO по оптимизации PHP
В этой очень полезной статье описано, что for ($i=0;$i<count($arr);$i++) {} работает медленнее for ($i=0,$max=count($arr);$i<$max;$i++) {}.
В чем причины? Ведь та же конструкция foreach ($dynamic_array as $key=>$value) {} не пересоздает массив на каждом шаге итерации...
И, рекомендация использовать for, так как он работает быстрее foreach (но ведь у них разное назначение) оставляет в недоумении.
 

phprus

Moderator
Команда форума
zarus
В конструкции for ($i=0;$i<count($arr);$i++) {} функция count($arr) вызывается столько раз сколько будет проходить сравнений с $i в данном случае столько раз сколько элементов в массиве, а в конструкции for ($i=0,$max=count($arr);$i<$max;$i++) {} только перед циклом, те только 1 раз.
 

bkonst

.. хочется странного?...
Re: Re: Re: Увеличиваем скорость работы скрипта

Автор оригинала: zarus
Тогда дополните совет, где (в каких точках кода) лучше всего устанавливать реперы исполнения, чтобы найти узкое место?
Я бы сказал, лучше взять XDebug (либо Zend, либо PHPEd) и включить в нем профайлер.
 

zarus

Хитрожопый макак
Автор оригинала: phprus
zarus
В конструкции for ($i=0;$i<count($arr);$i++) {} функция count($arr) вызывается столько раз сколько будет проходить сравнений с $i в данном случае столько раз сколько элементов в массиве, а в конструкции for ($i=0,$max=count($arr);$i<$max;$i++) {} только перед циклом, те только 1 раз.
Зачем мне статью цитировать, это я и сам прочитал, меня интересует, почему в foreach даже динамический массив создается 1 раз, а в цикле for каждый раз заново проверяется условие? Я вижу только причину - чтобы можно было внутри цикла изменить условие и, таким образом, продлить или завершить цикл...
 
Сверху