Другие языки программирования и технологии
Как можно оптимизировать работу ПХП скрипта?
Помогите оптимизировать работу ПХП скрипта, чтоб он выглядел нагляднее я его не копирую сюда, а даю ссылку Помогите оптимизировать работу PHP скрипта
Оптимизация PHP скриптов
Отличие PHP от других языков программирования, например, C++, Pascal и т. д. заключается в том, что исходный код программы на php при каждом обращении к скрипту интерпретируется по-новой. Поэтому важно научиться правильно (оптимально) составлять код программ.
Рекомендации:
■используем короткие имена переменных (не более 4 символов)
■используем sizeof() вместо count()
■выносим определение размера массива за пределы цикла
■элементы масива с числовыми индексами лучше перебирать через for/while
■элементы ассоциативного масива лучше перебирать через foreach
■доступ к элементу одномерного ассоциативного массива по имени, не заключенному в кавычки, тормозит процесс на треть
■не создаем лишних переменных. Вместо $x=1; $y=2; $z=x+y; пишем $z=1+2
■выносите $переменные из "текстовых строк" и вместо echo " Итого: $cnt"; используйте echo ' Итого: '.$cnt;
■для чтения файла file() быстрее, чем fopen+цикл
PHP-код является интерпретируемым, поэтому каждый раз, при выполнении той или иной команды происходит ее разбор. Если количество кода велико, то и время, затраченное на его прочтение и интерпретацию тоже большое. Если использовать дозагрузку частей кода, то среднее время выполнения скрипта уменьшится.
Но, сделаю замечание, если есть определенный набор скриптов, который подключается гарантированно всегда (базовая библиотека) , то их лучше всего объеденить в один файл. Это увеличит скорость их подключения.
Проведя ряд экспериментов, можно получить интересный результат: если в функцию передавать глобальные переменные в виде параметров функции, а не через директиву global, то работа локального участка кода php-скрипта увеличивается в 2 раза.
Чем меньше трафик от сервера к клиенту, чем быстрее загружаются страницы. Следующий эксперимент позволил ускорить работу php-скриптов в 4 - 20 раз! Действительно, впечатляющие показатели. Чтобы добиться такого ускорения, нужно использовать всего два оператора PHP:
■@ob_start("ob_gzhandler"); - в самом начале скрипта.
■@ob_end_flush(); - в завершении скрипта.
Первая команда создает объект, в который перенаправляется вся информация после работы php-скрипта. Вторая команда отправляет содержимое буфера клиентскому приложению (браузеру) и удаляет буфер.
Если клиентское приложение поддерживает стандарты передачи-приема сжатой информации, то получаемая информация из буфера будет сжата, что сэкономит немного трафика и уменьшит время получения ответа от сервера.
Программа оптимизации php кода
Смею Вас уверить, что такой программы нет. Да, есть трансляторы, которые переводят исходники программы с Паскаля на C++ или на Фортран. Но программы, которая бы занималась оптимизацией php кода не существует, по крайней мере в открытом доступе.
Почему так? Потому что:
Только человек имеет значительные умственные и аналитические ресурсы, не выражающиеся в частоте операций в секунду, но во многом превосходящие возможности программ.
Каждый программист пишет по-своему. Стилистика, выработанные правила формирования конструкций нельзя подогнать под единые шаблоны.
Чтобы знать, что оптимизировать, а что нет, необходимо разбираться в назначении той или иной части php-кода. Вполне возможно, что в одной части программный код написан со специальным усложнением, чтобы в другой, более важной части (за счет переизбытка в первой части) получить существенное ускорение.
Иногда вместо оптимизации php кода просто необходима оптимизация обрабатываемых данных.
Убежден, что только человек с его навыками, знаниями в данной области и значительным опытом работы как с самим языком программирования PHP, как и с оптимизацией скриптов на PHP, сможет справиться с поставленной задачей.
Вы можете самостоятельно начать оптимизацию своих php-скриптов. Не ожидайте, что прирост будет огромный. Возможно - не более 1 процента. Но иногда даже такой небольшой выигрыш во времени сохранит Вам посетителя
Отличие PHP от других языков программирования, например, C++, Pascal и т. д. заключается в том, что исходный код программы на php при каждом обращении к скрипту интерпретируется по-новой. Поэтому важно научиться правильно (оптимально) составлять код программ.
Рекомендации:
■используем короткие имена переменных (не более 4 символов)
■используем sizeof() вместо count()
■выносим определение размера массива за пределы цикла
■элементы масива с числовыми индексами лучше перебирать через for/while
■элементы ассоциативного масива лучше перебирать через foreach
■доступ к элементу одномерного ассоциативного массива по имени, не заключенному в кавычки, тормозит процесс на треть
■не создаем лишних переменных. Вместо $x=1; $y=2; $z=x+y; пишем $z=1+2
■выносите $переменные из "текстовых строк" и вместо echo " Итого: $cnt"; используйте echo ' Итого: '.$cnt;
■для чтения файла file() быстрее, чем fopen+цикл
PHP-код является интерпретируемым, поэтому каждый раз, при выполнении той или иной команды происходит ее разбор. Если количество кода велико, то и время, затраченное на его прочтение и интерпретацию тоже большое. Если использовать дозагрузку частей кода, то среднее время выполнения скрипта уменьшится.
Но, сделаю замечание, если есть определенный набор скриптов, который подключается гарантированно всегда (базовая библиотека) , то их лучше всего объеденить в один файл. Это увеличит скорость их подключения.
Проведя ряд экспериментов, можно получить интересный результат: если в функцию передавать глобальные переменные в виде параметров функции, а не через директиву global, то работа локального участка кода php-скрипта увеличивается в 2 раза.
Чем меньше трафик от сервера к клиенту, чем быстрее загружаются страницы. Следующий эксперимент позволил ускорить работу php-скриптов в 4 - 20 раз! Действительно, впечатляющие показатели. Чтобы добиться такого ускорения, нужно использовать всего два оператора PHP:
■@ob_start("ob_gzhandler"); - в самом начале скрипта.
■@ob_end_flush(); - в завершении скрипта.
Первая команда создает объект, в который перенаправляется вся информация после работы php-скрипта. Вторая команда отправляет содержимое буфера клиентскому приложению (браузеру) и удаляет буфер.
Если клиентское приложение поддерживает стандарты передачи-приема сжатой информации, то получаемая информация из буфера будет сжата, что сэкономит немного трафика и уменьшит время получения ответа от сервера.
Программа оптимизации php кода
Смею Вас уверить, что такой программы нет. Да, есть трансляторы, которые переводят исходники программы с Паскаля на C++ или на Фортран. Но программы, которая бы занималась оптимизацией php кода не существует, по крайней мере в открытом доступе.
Почему так? Потому что:
Только человек имеет значительные умственные и аналитические ресурсы, не выражающиеся в частоте операций в секунду, но во многом превосходящие возможности программ.
Каждый программист пишет по-своему. Стилистика, выработанные правила формирования конструкций нельзя подогнать под единые шаблоны.
Чтобы знать, что оптимизировать, а что нет, необходимо разбираться в назначении той или иной части php-кода. Вполне возможно, что в одной части программный код написан со специальным усложнением, чтобы в другой, более важной части (за счет переизбытка в первой части) получить существенное ускорение.
Иногда вместо оптимизации php кода просто необходима оптимизация обрабатываемых данных.
Убежден, что только человек с его навыками, знаниями в данной области и значительным опытом работы как с самим языком программирования PHP, как и с оптимизацией скриптов на PHP, сможет справиться с поставленной задачей.
Вы можете самостоятельно начать оптимизацию своих php-скриптов. Не ожидайте, что прирост будет огромный. Возможно - не более 1 процента. Но иногда даже такой небольшой выигрыш во времени сохранит Вам посетителя
Слишком там всё замудрено. Для парсинга используйте готовый класс Simple HTML DOM. Работа у него быстрее думаю будет, чем у вашего скрипта.
Похожие вопросы
- Сайт на Си. А если склепать сайт на сишке, он будет надежней, чем сайт на хтмл, пхп и ява скриптах?
- Хорошие курсы пхп Что посоветуете
- Подскажите литературу по пхп
- Джава или ПХП ???
- Скрипт сайта ка его редактировать и залить на хост
- c# скрипт
- Как вставить php скрипт в html сайт?
- Что такое скрипты ?
- Какой нужен тег или скрипт
- как добавить *.vbs скрипт в автозагрузки кмпьютера?