AllesKlar
22.01.2016 - 19:16
Цитата (icedfox @ 22.01.2016 - 16:45) |
Если я понял, что вы не видите разницы подключении 3х файлов и 100500, то остальные вас поймут так же. |
А где там речь шла об подключении 100500 файлов?
Речь шла об слиянии всех функций в один файл и подключении его.
Ты хочешь что-то сказать, но не можешь сформулировать. В голове какой-то протест бьется, но ты не можешь понять, против чего ты протестуешь. Отсюда и нелогичность твоих суждений.
Ты спросил: Почему разработчики фреймворков не подключают все файлы, если нагрузки никакой?
Вопрос в корне не правильный. Разработчики не подключают вообще ни одного файла, кроме конфигов и автолоадера.
А вот почему они разбили ядро на несколько файлов - это я уже сказал ТС - потому что это логически правильно.
Но если кто-то хочет сделать в коде кашу, то его личное дело, серверу пофиг.
И не надо кивать на разработчиков.
Я не поленился, загуглил работу интерпритатора, апеллировал этими фактами.
И что в ответ? Один меня послал, а ты спрашиваешь, а знаю ли я, что у тебя брат боксер?
Да пофиг мне на брата, разбери работу интерпритатора и докажи мне, что я не прав, я тебе в карму пришлю плюс и буду уважать.
Не бери пример с плохого, иначе очень быстро завоюешь себе славу 4-го неадеквата форума.
_____________
[продано копирайтерам]
killer8080
22.01.2016 - 19:22
Цитата (AllesKlar @ 22.01.2016 - 01:11) |
Ты же не думаешь, что разработчики php не предусмотрели того, что если функция не используется, то она просто будет проигнорирована и для нее не будет сгенерированы опкоды?
|
ну вообще то именно так и есть, PHP не оптимизирует код перед компиляцией, "мёртвый код" то же будет скомпилирован в опкоды.
Вот смотри
# php -d vld.active=1 -d vld.execute=0 -r 'echo 1;'
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename: Command line code
function name: (null)
number of ops: 2
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
1 0 E > ECHO 1
1 > RETURN null
branch: # 0; line: 1- 1; sop: 0; eop: 1; out1: -2
path #1: 0,
и
# php -d vld.active=1 -d vld.execute=0 -r 'echo 1; function foo() {echo 2;}'
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename: Command line code
function name: (null)
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
1 0 E > ECHO 1
1 NOP
2 > RETURN null
branch: # 0; line: 1- 1; sop: 0; eop: 2; out1: -2
path #1: 0,
Function foo:
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename: Command line code
function name: foo
number of ops: 2
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
0 E > ECHO 2
1 > RETURN null
branch: # 0; line: 1- 1; sop: 0; eop: 1; out1: -2
path #1: 0,
End of function foo
Вы о чем спорите то?
AllesKlar уже несколько раз повторил - подключайте только те файлы, функции которых затребованы логикой и Всё. Какие тут экономии, чушь. На фоне того, что предлагается современными фреймворками, подключение файла с десятком функций - пыль.
Возьмите тот же ZEND. Они вообще не стесняются в этом плане. Вот тут есть о чем задуматься.
Либо какую-нибудь самоделку, которая построена по "канонам". Подключение пары сотен файлов/классов считается нормой. Но вот если подключен файл с функциями, которые реально нужны повсеместно, начинается спор об оперативке.
Ну если это математические функции, не нужно их подключать к текстовым скриптам. И так далее. Всего то навсего. О чем и сказал
AllesKlarО чем вы вообще спорите? Или о том, что функции, это зло? Готов доказать, что не всегда классы, это хорошо. Впрочем делал это уже неоднократно.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Какой можно сделать вывод из сказанного:
1) Все подключаемые функции всё же загружаются в ОЗУ.
2) Исходя из п.1, все функции пихать в один файл не стоит, только те, которые используются повсеместно.
3) Все функции стоит разделять по логике, чтобы не было каши.
Надеюсь ничего не упустил. Всем спасибо за ответы.
_____________
Принимаю заказы, писать в ЛС
Valick
22.01.2016 - 20:03
Цитата (twin @ 22.01.2016 - 18:39) |
AllesKlar уже несколько раз повторил - подключайте только те Файлы, функции которых затребованы логикой и Всё |
нет, он как раз рекомендовал подключить все функции одним файлом, а используются они или нет для него это не важно.
Странные вещи творяться на форуме, раньше я думал что книги не читают только зазнайки, которые и без книг "всё знают", но теперь больше склоняюсь к той мысли, что просто читать не умеют, потому и не
кусают читают.
_____________
Стимулятор ~yoomoney - 41001303250491
Не стоит ругаться, кому надо тот всё понял. А у меня ещё один интересный вопрос, как раз в тему. Чтобы проверить, на сколько одновременных подключений хватит ОЗУ, надо размер доступной оперативки поделить на размер всех файлов участвующих в конкретной задаче. (Скрипт и всё, что к нему подключено). Так нет?
_____________
Принимаю заказы, писать в ЛС
AllesKlar
22.01.2016 - 21:46
Цитата (killer8080 @ 22.01.2016 - 17:22) |
ну вообще то именно так и есть, PHP не оптимизирует код перед компиляцией, "мёртвый код" то же будет скомпилирован в опкоды. Вот смотри |
Вот это другой разговор. Держи плюс в репу.
Цитата (Медведь @ 22.01.2016 - 18:36) |
Чтобы проверить, на сколько одновременных подключений хватит ОЗУ, надо размер доступной оперативки поделить на размер всех файлов участвующих в конкретной задаче. (Скрипт и всё, что к нему подключено). Так нет? |
Одновременных - это понятие растяжимое.
Если интрепритатор сгенерит опкоды за 0,001 секунду, то значит однавременных - это именно запросов, одновременно поступивших в эти 0,001 секунды.
_____________
[продано копирайтерам]
Valick
22.01.2016 - 22:22
Цитата (Медведь @ 22.01.2016 - 19:36) |
Так нет? |
кадаж ты начнёшь книги читать....
РНР выделяет под скрипт определённое максимальное значение, если скрипт превышает его, то интерпретатор его кирдыкает
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
23.01.2016 - 01:05
в пекло книги, в пекло знания
в пекло прогера с 200 функциями в 1 файле.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.