Размер обрабатываемого кода

rudik

Developer
Размер обрабатываемого кода

Вот возник интересный вопрос. Пишу, пишу на ПХП, а основное ядро (объекты которые работают "на все случаи жизни") уже занимает 300 кб, и это все без HTML'a т.е. одни только классы. И вот возник вопрос, а не слишком ли в напряг обрабатывать такого размера код серверу каждый раз?

Может кто-то с большими объемами работал...
 

Crazy

Developer
Re: Размер обрабатываемого кода

Автор оригинала: rudik
объекты которые работают "на все случаи жизни")
Ответ: не надо устраивать из описаний классов братскую могилу.
 

sokol

Zavolga.Net
2rudik -:) и что ты их все в одном скрипте инклюдишь? Наверное нет.
 

sokol

Zavolga.Net
2Crazy - из той же песни:) Как там ф-я в 1000 строк поживает?:)
 

Varg

Guest
А почему оно его напрягает, если допустим из 40 классов вызывается только один?
ПХП не будет ведь их "обдумывать", только синтаксис проверит :)
 

Crazy

Developer
А синтаксис он проверяет (точнее -- парсит исходный код) посредством обращения к Изначальному Дао, не напрягая вычислительных мощностей сервера? :)
 

Varg

Guest
Дао дао :) Я не говорил, что эта операция совсем "безболезненно" протекает, но всё же не фатально.
Хотя у меня классов тоже много, но они по темам разбиты класса по 3 на каждую. И парочку заинклюдил - и хорошо :)

А винчестер это не особо напрягёт, чколько их там у меня не инклюденых лежит.
 

Crazy

Developer
Автор оригинала: Varg
Дао дао :) Я не говорил, что эта операция совсем "безболезненно" протекает, но всё же не фатально.
В одном лично мной виденном проекте подключение неиспользуемых классов занимало до половины времени обработки запроса. Это не смертельно, но существенно.
 

ONK

Пассивист PHPСluba
ab показывает что время парсироваки файла библиотек (ничего не исполняется) размером 55кб на П3-700 составляет 39-40милисекунд. Если бы это было 300кб можно предположить что парсировка продлилась бы до 0,25секунд..
 

Varg

Guest
В одном лично мной виденном проекте подключение неиспользуемых классов занимало до половины времени обработки запроса. Это не смертельно, но существенно.
А сколько их там было? :)
Причём если общее время выполнения было 4 миллисекунды то слово "половина" звучит уже менее враждебно.
 

Varg

Guest
...на П3-700 составляет...
На моём П1-200 ещё медленнее.
Но сервера как правило гораздо быстрее. И даже эти 300 кб если вызываются нечасто, то вполне можно не заморачиватьтся. Но лучше всё же разбить на несколько файлов, следя, что бы для одной задачи всё было в одном файле. А для другой - в другом.

Можно конечно разбить и на 1 класс = 1 файл.
 

Mackusha

Guest
У меня был проект, в котором необходимо было подключать много объемных файлов в скрипт.
Так вот иногда php не мог все это переварить и выдавал fatal error. (причину я точно не знаю - хостился на бесплатном хостере. Дома все было в норме. )
Но факт был - появление или нет fatal error напрямую зависело от суммарных размеров размеров подключаемых файлов.
Так вот - если когда столкнешся с подобным - я делал вот что :
1. 1 класс - НЕСКОЛЬКО файлов.
2. В одном файле пишется описание класса, а тексты методов в других, на каждый метод по файлу.
Подключаются они и парсятся только при вызове методов, т.е. если в скрипте вызываются не все методы класса (у меня так и было) то все замечательно работает.
 

ONK

Пассивист PHPСluba
Это плохой совет!

Лучше в php.ini увеличить максимальный размер занимаемой скриптом оперативной памяти ....
 

rudik

Developer
У Mackusha хостер то бесплатный был. Так что там ничего не увеличишь.
 

Mackusha

Guest
2 ONK - объясни, почему совет плох ?
Какие проблемы могут возникнуть ?
 

ONK

Пассивист PHPСluba
Для подключения каждого метода ПХП должен будет проделать кучу лишней работы (даже если учесть что все необходимые файлы кешированы Апачем). 1 include / require даже самого маленького файла (в 5 строчек) по затратам на исполнение перекрывает простой (в смысле быстрый) SELECT к мускулу.
 

Grey_EM

Guest
Автор оригинала: Mackusha

Подключаются они и парсятся только при вызове методов, т.е. если в скрипте вызываются не все методы класса (у меня так и было) то все замечательно работает.
Работает ?
Да за такое убивать надо.
 
Сверху