У меня есть файл в котором собраны все функции вида function { } Вставляю этот файл с помощью include на все страницы и уже на каждой из страниц использую нужную. Насколько сильно это потребляет ресурсы? функции вроде бы не выполняются, а только объявляются. Может стоит каждую функцию записать в отдельный файл и вызывать на страницах только те, что требуются или это излишне?
флоппик, >10.000 посетителей в сутки, около 400 одновременно онлайн, поэтому ищу любые места в коде, которые снижают производительность. Mr.M.I.T., спасибо, из этого уже можно делать какие-то выводы.
PCSpeaker, пытаться наугад найти места в коде где что-то тормозит при большом объеме исходников долгое и нудное занятие. Поставь себе профайлер.
повышать производительность- это хорошо. но такие работы не должны доходить до абсурда. я слышал аналогичные рассуждения на тему того, что и от объектов надо отказаться. я думаю, что если все разумные ресурсы для увеличения производительности исчерпаны и остались только неразумные, стоит переключить внимание на железо. А один файл с 1000 функций или 100 файлов по 10 функций в каждом не изменят ситуацию. Изменения будут, но не соизмеримые с затратами. Я знаю, что после того, как на ZF сделают высоко нагруженный проект, все классы сливают в один файл и это как- то сказывается на скорости. Но эти изменения незначительны.
alexey_baranov Изменения кстати значительны. Другое дело что на самом выполнении кода не сказывается - да, а вот подгрузка 30-40 файлов для интерпретатора как раз даёт ту саму задержку, в запущенных случаях очень большую. На эту тему есть исследование в и-нете.
флоппик Вобщем-то влияние было описано на примере Zend Framework в этой знаменитой набле: http://dklab.ru/chicken/nablas/49.html Читать с ["Мой скрипт вместе с библиотеками занимает 5 МБ, как же быть?.."]
Я не сказал, что не влияет. Я сказал, что у него не ZF, и не те обьемы что бы затруднять себе же разработку (я же не думаю, что у него автоматический деплой) сливанием в один файл. И узких мест у него еще дофига в других, более нуждающихся в оптимизации местах. если вообще нуждающихся.
тоже через все это проходил. это не наш путь. когда пол года назад стало заметно не хватать скорости, как- то не приходило в голову экспериментировать с require_once(). время жаль на такую работу. просто написал служебку и где- то через три месяца она всплыла. теперь и сервак новый и работы бесполезной делать не пришлось. это разумный подход.
Вообще правильный include_path позволяет ОЧЕНЬ сильно сократить время обработки запроса, в среднем на 30%, с большими include_path с кучей директорий и того больше.
[vs] kostyl Это когда первой идёт та директория, в которой лежат нужные файлы. По умолчанию include path содержит в себе кучу системных директорий и только потом уже идёт поиск в текущей, т.е. с относительными путями получается долгий поиск.