Статья для новичков. По сети уже давно ходят статьи по оптимизации PHP-кода. Причем в большинстве своем это статьи десятилетней давности, рассчитанные на PHP 3.
Во-первых, такие «тесты» замеряются при многотысячном прогоне в цикле. Потому что если сравнить скорость print и echo при однократном вызове, то разницы нет вообще. А ведь при использовании MVC функция печати вызывается 1 раз.
Во-вторых, время выполнения реального скрипта (на реальном сайте) на 99% состоит из запросов к базе, правильной архитектуры базы и использования кэша. Живой пример. Простановка нескольких индексов в базе будет в миллион раз эффективней замены двойных кавычек на одинарные. Я уже молчу про использование кэширования.
В-третьих, зачастую эти советы предлагают превратить код в кромешный ад. Например, заменить ООП на функции, использование коротких имен переменных ($a, $b, $c вместо $user, $title) и т.д. В этом и состоит главная опасность этих "полезных" советов. Иногда встречаются подобные советы по оптимизации базы. Например, никогда не использовать NULL.
В-четвертых, нет ничего проще, чем проверить насколько быстрее работает какой-то кусок кода и, самое главное, сравнить это время со временем выполнения всего скрипта.
$start_time = microtime(true);
… какой-то код …
$end_time = microtime(true);
$result = $end_time - $start_time;
echo $result; // выводим время выполнения
Недавно на хабре статья такая была, о псевдооптимизации, так мало того, статья даже на главную вышла.
мерять время выполнения как это делаете вы категорически нельзя. при таком подходе не учитывается время затраченное на парсинг скрипта, а между тем, это время может быть даже больше чем время его работы.
для профилирования и поиска узких мест лучше все-таки xdebug + kcachegrind использовать.
http://kcachegrind.sourceforge.net/html/Screenshots.html
профайлеры - это хорошо, но внимательно читаем самое начало
"Статья для новичков."
altmind, парсинг скрипта мы можем ускорить только загнав его в байткод с помощью APC, eAcselerator. Но в данной статье я рассматриваю узкие места и экономию на спичках внутри скрипта. И для этого случая вполне годится microtime()
Вот статейка с хабры http://habrahabr.ru/blogs/php/112474/
на хабре каждый год подобное проскакивает, набирая довольно много плюсов от школоты.
http://habrahabr.ru/blogs/php/22799/
Насчет ссылки в #7 и #6 комментариях - многое написано верно. Ссылка из статьи - пример из далекого прошлого (на главной php.spb.ru "новости" датированы 2003 годом)
Естественно, при оптимизации реальных проектов следует искать узкие места ("бутылочное горлышко") и начинать с них.
ps. И вообще, преждевременная оптимизация - зло..., однако использование, например, $[a] вместо $['a'], на мой взгляд, недопустимо :)