| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Влияние кол-ва переменных на производительность? |
| Автор: anurbol 16.4.2010, 19:18 |
| В общем влияет ли количество объявленных переменных, массивов, объектов, на производительность, на время отдачи контента и т.д. ? Недавно в своем движке вывел get_defined_vars и обалдел, страница больше мегабайта получилась. С одной стороны это очень удобно, раз переменные объявлены в главном файле, всегда можно обратиться к ним сразу где бы то ни было, но... влияет ли это как то на быстродействие сайта??? |
| Автор: anurbol 16.4.2010, 19:58 | ||
Очень удобно! Альтернатива как я понимаю - в каждом отдельном файле инклюдить только то, что нужно. но так как система уже настолько навороченная, это такая ж*па, и собственно хочется спросить стоит ли овчинка выделки? |
| Автор: IgorIV 16.4.2010, 21:24 |
А ты потести siege, увидишь... |
| Автор: LeoK 17.4.2010, 09:49 | ||
видимо у вас много переменных, объявленных в globals... имхо это зло Данные нужно генерировать в соответствии с контекстом и не таскать за собой кучу ненужного на данный момент |
| Автор: MoLeX 17.4.2010, 10:21 | ||||||
Ээ, от куда такой вывод???
Плохо спроектировано у вас. Необходимо посмотреть от каких переменных можно избавиться. Может есть специфические, которые нужны только для отображения формы обратной связи. А вы их вынесли в главный файл.
|
| Автор: LeoK 17.4.2010, 10:51 |
Ну как правило get_defined_vars вызывают в глобальном контексте и никак не в контексте функции либо метода Насчет проектировки - действительно плохо спроектировано |
| Автор: nerezus 18.4.2010, 18:41 |
| Не влияет. На производительность влияют СУБД, косяки в алгоритмах, отсутствие кеширования, тормоза ФС, тормоза сети, кривая настройка сервера, отдача статики неасинхронным сервером и хреновое железо. Остальные факторы много меньше погрешности и не имеют значения. |
| Автор: nerezus 18.4.2010, 19:09 | ||
|
| Автор: krundetz 19.4.2010, 08:46 |
посмотрите в сторону заложенной в php возможности автоматически подключать нужные файлы используя функцию __autoload() в какой то степени она позволит избавиться от: при переделки системы. ещё бывает такая вещь как ограничение размера оперативной памяти, вот тогда размер памяти необходимой при выполнение скрипта имеет большое значение, просто сейчас легче купить у хостинга тариф с большим размером выделяемой оперативной памяти |
| Автор: anurbol 21.4.2010, 05:05 | ||||||
Такой ответ я и хотел услышать Спасибо nerezus ))) насчет проектирования -
А кстати 0.2 это много?? это если учесть что 0.2 сек. это на 2-ядерном локалхосте-денвере с 2 ГБ озу. Да специфических очень мало, в основном такие штуки как инфо о текущем пользователе, его курсе валют, его настройках, его друзьях, рейтинге, балансе и т.д. MoLex, и Вам спасибо, давно уважаю Вас! |
| Автор: MoLeX 21.4.2010, 05:57 | ||
денвер? под виндовс? тогда не много |
| Автор: nerezus 21.4.2010, 10:50 |
| anurbol, в любом случае сведи количество общеглорбальных переменных к 0. |
| Автор: lukas 20.9.2010, 22:20 |
| Я думаю на скорость это не влияет абсолютно, потому что один фиг - хеш таблицы (не те что в языке, а те что внутри реализации языка) настолько быстрые, что там хоть миллион переменных будет, все равно поиск будет мгновенный вне зависимости от кол-ва элементов. Это конечно не говорит о том, что большое количество глобальных переменных это хорошо, надо объединять их в массивы, создавать объекты и т.п. Хех, не заметил дату поста. Форум по пхп умер? |
| Автор: MoLeX 21.9.2010, 06:07 |
нет жив |
| Автор: bars80080 21.9.2010, 13:49 |
а как вы интересно нашли эту тему? может читаете список тем с десятой страницы? |