Подтвердить что ты не робот

Действительно ли автозагрузка действительно убивает производительность при использовании APC (последние версии/до настоящего времени). Ориентиры?

Я пытаюсь найти определенный ответ на вопрос, что autoload убивает производительность при использовании APC и почему (тесты?)

P.S. Нашли ссылку с помощью google/stackoverflow, но мне интересно, сохраняется ли это? PHP должен быть улучшен, чтобы справиться с этим? Потому что автозагрузка - это классно!

4b9b3361

Ответ 1

Лично я не верю, что полагаться на __autoload() - хорошая практика. PHP - это свободно типизированный язык, а не лениво типизированный язык.:)

Ознакомьтесь с некоторыми характеристиками здесь:

Ответ Rasmus на это (который вы также нашли) был моим руководством во все эти годы:

<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 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 { } }

Ответ 2

Я сделал еще googling и нашел эту интересную статью ниже:

Тесты выполнялись 10 раз для каждой стратегии:

enter image description here

Заключение

Каждый подход имеет свои достоинства. Во время разработки вы не хотите обязательно запускать script для создания карты классов или вручную обновлять карту классов каждый раз, когда вы добавляете новый класс. Тем не менее, если вы ожидаете большой трафик на свой сайт, тривиально легко запустить script во время развертывания, чтобы построить карту классов для вас, и, таким образом, вы сможете немного повысить производительность своего приложения.