Извините, если это является основным, я пытаюсь узнать как можно больше об OO в PHP, и я медленно изучаю, как его использовать (очень ограниченный).
Поэтому я хочу знать, влияет ли __autoload () на кеш-код opcode PHP?
(Отказ от ответственности: я знаю только APC)
Что делает кеш-код операции:
Важным моментом здесь является точка входа: полный путь к файлу.
Что обычно делает автозагрузка:
Таким образом, информация, относящаяся к кешу опкода (полный путь к файлу и тот факт, что он включен / требуется) все еще здесь.
Вследствие этого автозагрузка не должна вызывать проблем с кешированием op-кода.
(И, при использовании APC, это не так, насколько я могу судить)
Ключи Opcode работают (или, по крайней мере, должны работать) с автозагрузкой, но вы можете потенциально пострадать от производительности.
Из Помните: будьте хороши в байтах кэша кода :
<arnaud_> does autoload have a performance impact when using apc ? <Rasmus_> it is slow both with and without apc <Rasmus_> but yes, moreso with apc because anything that is autoloaded is pushed down into the executor <Rasmus_> so nothing can be cached <Rasmus_> the script itself is cached of course, but no functions or classes <Rasmus_> Well, there is no way around that <Rasmus_> autoload is runtime dependent <Rasmus_> we have no idea if any autoloaded class should be loaded until the script is executed <Rasmus_> top-level clean deps would speed things up a lot <Rasmus_> it's not just autoload <Rasmus_> it is any sort of class or function declaration that depends on some runtime context <Rasmus_> if(cond) function foo... <Rasmus_> if(cond) include file <Rasmus_> where file has functions and classes <Rasmus_> or heaven forbid: function foo() { class bar { } }
и это письмо от Рамуса :
Для уточнения, конечно, условно включенные файлы собираются и кэшируются. Проблема заключается не в файлах, которые включены, но в результате условно определенные классы и функции должны быть переопределены при каждом запросе. Является ли это значительным или нет, сводится к специфике ситуации, но нет сомнений в том, что она медленнее. Например, это NOP против FETCH_CLASS, и NOP, очевидно, быстрее.