[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нагрузка if else на сервер
Happy!
Здравствуйте, подскажите пожалуйста, у меня есть php код длинной примерно полторы тысячи строк, и в начале стоит условие if else, в случаи не выполнения условия выполняется код длинной пять строк, код сервер весь по любому должен прочитать, но будут ли его грузить те строки которые по условию не выполняются?



Спустя 17 минут, 26 секунд (2.05.2011 - 19:57) Renden написал(а):
Happy!
Непарься, если условие не сработало то он ищет закрывающий тег и бежит дальше, игнорируя все что было в этих скобках..
Забыл добавить, а дабы файл просто был меньше размером делай инклюды.. имеется ввиду иклюды для условий, если они большие.

Спустя 3 минуты, 30 секунд (2.05.2011 - 20:01) Happy! написал(а):
Спасибо, а то я уже боялся будет грузить моя программа сервер))

Спустя 2 минуты (2.05.2011 - 20:03) Игорь_Vasinsky написал(а):
Цитата
Спасибо, а то я уже боялся будет грузить моя программа сервер))


ни чего не бойся - пускай хостер боится wink.gif

Спустя 12 часов, 12 минут, 7 секунд (3.05.2011 - 08:15) linker написал(а):
Кривда ваша, пыху !гораздо! проще работать с одним большим файлом, чем с кучей маленьких инклудов.

Спустя 2 часа, 22 минуты, 14 секунд (3.05.2011 - 10:37) sergeiss написал(а):
Холивары на эту тему были уже smile.gif Последний раз не так давно.

Может быть, серваку и проще каждый раз интерпретировать гигантский файл, но мне, как программеру, удобнее сделать несколько инклудов. И еще, на самом деле, большой вопрос, что будет быстрее.
Renden - прежде, чем найти конец какого бы то ни было блока, интерпретатор должен сначала пройти по содержимому этого блока, до самого конца. Иначе он не сможет понять, где же конец этого блока. Поэтому текст любого скрипта будет обработан целиком. А если есть инклуды, то будут обработаны только те из них, которые будут подключены.

Спустя 43 минуты, 38 секунд (3.05.2011 - 11:21) linker написал(а):
sergeiss
Ну в случае полторы тысячи строк, удобнее конечно инклуды, но пыху от этого не легче.

Спустя 7 минут, 41 секунда (3.05.2011 - 11:28) mxwuser написал(а):
А если после первого условия вставть exit(), в таком случае, 1.5к строк, вроде как, не должны считываться.

Спустя 12 минут, 44 секунды (3.05.2011 - 11:41) sergeiss написал(а):
Цитата (linker @ 3.05.2011 - 12:21)
но пыху от этого не легче.

Это его проблемы, пыхи то есть smile.gif Я больше думаю о том, что структура моего кода должна быть более-менее четкая и понятная. А "ловить" тысячные доли секунды? Да еще и с неочевидным результатом? Нет, не буду! Потому что юзер все равно этой разницы не заметит. А вот отлаживать, поддерживать и развивать код будет сложнее в случае единой большой "портянки".

Спустя 1 минута, 58 секунд (3.05.2011 - 11:43) Renden написал(а):
Цитата (sergeiss @ 3.05.2011 - 10:37)
Renden - прежде, чем найти конец какого бы то ни было блока, интерпретатор должен сначала пройти по содержимому этого блока, до самого конца. Иначе он не сможет понять, где же конец этого блока. Поэтому текст любого скрипта будет обработан целиком. А если есть инклуды, то будут обработаны только те из них, которые будут подключены.

Я это и имел ввиду, ясен красен чтоб найти конец условия он должен прочитать файл, а если как в данном случае условие if состоит из 1000 скрок, а else из 5, логично то что в if разумно сделать хотябы 1 include. Или я не прав?)

Спустя 5 секунд (3.05.2011 - 11:43) linker написал(а):
sergeiss
Да это понятно smile.gif

На счет тысячных долей хз, меня впечатлило увеличение на 40% (если мне не изменяет память) производительности, когда Zend Framework запихнули в один файл.

Спустя 42 минуты, 3 секунды (3.05.2011 - 12:25) sergeiss написал(а):
Renden - я тебе отвечал на это вот: "если условие не сработало то он ищет закрывающий тег и бежит дальше, игнорируя все что было в этих скобках.."

linker - ничего не могу сказать насчет Зенда, т.к. не знаю его структуру и не знаю детали указанной тобой проверки.
Но давай рассудим здраво smile.gif На каждый инклуд надо дополнительно открыть файл, что требует дополнительное время (сам факт открытия файла).
Но если вместо этого потребуется впустую прогнать интерпретатор хотя бы по 2-3 тысячам строк? А если это будет сделано 20 раз вместо того, чтобы 20 раз пропустить инклуды? Будет ли это быстрее? Полноценный холивар можно получить, если начать спорить smile.gif

Спустя 6 минут, 54 секунды (3.05.2011 - 12:32) linker написал(а):
sergeiss
Мы не будет спорить, но факт остается фактом. Но данный факт, не отменяет того, что инклуды таки рулят.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.