PHP

Советы по оптимизации PHP кода

echo работает быстрее чем print

Заключайте строки в 'одинарные кавычки', когда в ней нет переменных

Используйте sprintf вместо переменных, заключенных в двойные кавычки.

Это примерно в 10 раз быстрее Передавайте в echo несколько параметров,

вместо того, чтобы использовать конкатенацию строк echo $a, 'text', $b, 'more text'; // множественные параметры, работает быстрее echo $a . 'text' . $b . 'text'; //конкатенация

Не используйте вычисления числа элементов массива, длины строки и т.п., для определения последней итерации цикла в самом цикле.

Установите максимальное значение для цикла for перед ним

Например: for ($x=0; $x < count($array); $x), вызывает count() при каждой итерации, используйте $max=count($array); перед циклом.

Если довольно большой массив, то разница в производительности в 10 раз

Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы

Пример:

// так писать не стоит $time = time();

$login = $_SESSION['login'];

$hash = md5($login . $time); // если можно записать так $hash = md5( $_SESSION['login'] . time() );

Избегайте магических методов, таких как __get, __set, __autoload

По возможности используйте require() вместо require_once()

Используйте полные пути в include(_once) и require(_once), уменьшая тем самым время на разрешение путей OS

Пример: для путей лучше определить константы, используя $_SERVER['DOCUMENT_ROOT']

Определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time()

Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений str_replace быстрее, чем preg_replace, но strtr быстрее, чем str_replace

Лучше использовать конструкцию else if, чем несколько конструкцию if

Используйте модуль Apache mod_deflate

Закрывайте свои соединения с БД, когда закончите работать с ними $row['id'] в семь раз быстрее, чем $row[id]

PHP-скрипты будут обрабатываться, как минимум, в 2-10 раз медленнее, чем статические HTML-страницы.

Попробуйте использовать больше статических HTML-страниц и меньше скриптов Ваши PHP-скрипты перекомпилируются каждый раз, если скрипты не кэшируются.

Кэширование скриптов обычно увеличивает производительность на 25-100% за счёт удаления времени на компиляцию

mod_gzip — модуль Apache, который позволяет сжимать ваши данные на лету и может уменьшить объем передаваемых данных до 80%

Если в вашем коде есть функции, выполняющиеся очень долго, обдумайте их написание на C в виде расширения

php

Администратор

Хороший ученик видит ошибки своего учителя, но молчит о них почтительно, ибо самые эти ошибки служат ему в пользу и наставляют его на прямой путь