Сперва об оптимизации и не думаешь, но далее, когда проект набирает популярность становится понятно, что без переработки ранее написанного не обойтись.
Предлагаю писать сюда свои идеи и реально используемые трюки и правила для облегчения скриптов и сведения к минимуму дальнейших переделок.
Начну я.
* Известно, что PHP мягко говоря не очень быстро обрабатывает циклы (в большей степени относится к ранним версиям), поэтому в циклы только самое необходимое и, по-возможности, использовать цикловые операторы, такие как foreach.
* Любой запрос к базе данный тормозит выполнение скрипта, поэтому стараться получать всю необходимую информацию из БД за минимальное количество запросов.
* Забыть про использование файлов для хранения динамических текстов (доски объявлений и чаты на файлах угробят всё!)
* Кто бы что ни говорил, но использование ООП тормозит выполнение скрипта, т.к. идёт обращение к сложной структуре. В журнале (если не ошибаюсь, PHPinside) описывался тест, который показал, что тормозят не только ООП, но даже длинные имена(!!!) переменных.
* Создайте нечто напоминающее структуру работы скриптов, чтобы не получать одну информацию по нескольку раз в различных модулях.
* Используйте функции только при троекратном или более повторении операций, иначе вызов функции поглощает преимущество её использования.
* Не используйте обращения к БД в функциях для получения данных - лучше один раз получить данные, а потом передавать их в функцию.
PHP медленно циклы обрабатывал только до 3 версии, в 4 и 5 все нормально. Конечно намного быстрее работают cgi приложения на с++ (где-то в 10 раз!!) но это существенно только ля проэктов с большой баззой данных (вернее огромной)
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)