Будет ли сокращение количества включений / требует повышения производительности?

Что лучше для настройки производительности скриптов?

Вот этот?

require_once("db.php"); if (!is_cached()) { require_once("somefile.php"); require_once("somefile2.php"); //do something } else { //display something } 

Или это?

 require_once("db.php"); require_once("somefile.php"); require_once("somefile2.php"); if (!is_cached()) { //do something } else { //display something } 

Стоит ли встраивать / требовать в структуры управления потоком или нет?

спасибо

Да, это увеличит производительность и противоречит тому, что говорят другие, влияние может быть незначительным.

Когда вы включаете / требуете файлы, PHP проверяет все определенные include_paths, пока не найдет файл, или больше нечего проверять. В зависимости от количества включенных патчей и количества файлов, которые будут включены, это окажет серьезное влияние на ваше приложение, особенно при включении каждого файла вверх. Желателен ленивый, в том числе (например, в вашем первом примере) или – даже лучше – с помощью автозагрузчика.

Связанное с этим чтение более подробно:

  • Руководство по производительности Zend Framework *

* Указанный там совет применим к любому приложению или структуре

Включаемые и требуемые средства разработаны частично для того, чтобы вы могли организовать свой код и упростить работу с вашим программным обеспечением. Хотя технически это показатель производительности для использования, он является незначительным и более чем компенсируется за счет повышения уровня обслуживания вашего программного обеспечения. Особенно, если вы используете кеш opcode. Я бы не стал беспокоиться об этом и помешать его преждевременной оптимизации.

Иногда это может быть полезно, если требуемые файлы огромны, а кеш-код недоступен.

Однако проблема в том, что на самом деле это не число операторов include() , а количество входящих данных. Чем меньше неиспользованного кода вы включаете в запрос, тем лучше. Хорошим средством для монолитного включения является разделение базы кода на более мелкие или, если ваше приложение в основном объектно ориентировано, используя функцию автозагрузки PHP.

Я видел общедоступные пакеты хостинга, в которых невозмутимые монолитные возможности могут сэкономить до половины секунды – это очень много .

Кроме того, включенный PHP-код получает синтаксический анализ и занимает память, независимо от того, выполняется ли она или нет. Как правило, чистая структура с худощавыми объектами является оптимальным способом.

Да, это увеличит производительность, но это очень мало, так что это не стоит.

Использование абсолютных путей для включенных файлов значительно повысит производительность. Тестирование с помощью Apache Benchmark, чтобы убедиться, что это не так.