www.gcmsite.ru

Новости Программы PHP-скрипты Статьи Числа
Услуги Резюме Игры Автомобили Поиск

СИСТЕМНОЕ И ВЕБ-ПРОГРАММИРОВАНИЕ
компьютерная техника, игры

PHP: оптимизация php-скриптов

Отличие PHP от других языков программирования, например, C++, Pascal и т.д. заключается в том, что исходный код программы на php при каждом обращении к скрипту интерпретируется по-новой. Поэтому важно научиться правильно (оптимально) составлять код программ.

Рассмотрим несколько ошибок и способы их устранения.

Тестируем код:

$a=array();
for ($i=1;$i<99999;$i++){array_push($a,"1");}
[start]
$counter_my=sizeof($a);
for ($index=1;$index<$counter_my;$index++){
  $a[$index]="1";
}                      [0.491915]
[finish]

Во втором примере заменим переменные $counter_my и $index соответственно на $co и $i.

В третьем примере не будем использовать переменную $co, а напишем count($a) прямо в цикле вместо $co.

В четвертом примере заменим count на sizeof.

Итог, самая быстрая комбинация из четырех - это вторая:
1=[0.491915] 2=[0.458970] 3=[0.649125] 4=[0.634952] (Измеряем участок кода между start и finish)

$co_my=sizeof($a);
for ($i=1;$i<$co;$i++){
  $a[$i]="1";
}                      [0.458970]
Выводы (на основе этих экспериментов и личного опыта):
    используем короткие имена переменных (не более 4 символов)
    используем sizeof() вместо count()
    выносим определение размера массива за пределы цикла
    не создаем лишних переменных. Вместо $x=1; $y=2; $z=x+y; пишем $z=1+2
    вместо echo " Итого: $cnt"; используем echo ' Итого: '.$cnt;

Приспособиться под вышеприведенные ограничения совсем не сложно, зато ускорение будет огромным! Оптимизация позволит ускорить работу php-скриптов более чем в 2 раза!

Да здравствует оптимизация!

Дополнительная информация на тему "Оптимизация php-скриптов"


PHP — это язык программирования, основанный на использовании скриптов. Данный язык широко применяется для создания различных front-end и back-end веб-приложений. Поддерживается по-умолчанию большинством хостеров, являясь одним из лидеров среди языков программирования, предназначенных для создания динамических интерактивных сайтов.

Интересные материалы на сайте:

Автор, разработчик: Шаров Евгений   (gcmsite@yandex.ru)
(c) 2000-2020 GCM-Site - системное и веб-программирование
Цитирование материалов сайта возможно только при наличии гиперссылки