Неопытный вопрос PHP:
У меня есть файл Сценария PHP, что я должен включать на различных страницах много времен в большом количестве мест.
Я имею опцию любого разламывания включенного файла на несколько меньших файлов и включаю их в стандартную основу... ИЛИ... Я мог просто держать все это вместе в единственном файле PHP.
Я задаюсь вопросом, существует ли какое-либо влияние производительности использования большего по сравнению с меньшим файлом для, включают () в этот контекст? Например, есть ли какое-либо различие в производительности между файлом 200 КБ и файлом 20 КБ?
Спасибо.
Разница между файлом размером 200 КБ и 20 КБ будет... Но вы, вероятно, не заметите ее: файл 200 КБ не так уж велик - и вы обычно используете много файлов, которые не являются "маленькими", когда вы создаете большое приложение.
Есть две вещи, которые занимают время, когда вы загружаете . php
файла:
В качестве примечания: в общей ситуации, вы выиграете гораздо больше времени / процессора / ресурсов, оптимизируя ваши SQL запросы, или добавляя некоторые механизмы кэширования, чем думая о таких вещах.
Влияние, безусловно, есть, поэтому убедитесь, что используете include_once() вместо include(). Вы можете рассмотреть возможность использования APC, который имеет кэш include.
Будьте осторожны с include_once ()
(а также require_once ()
), он дороже, чем include ()
. Каждый раз при запуске include_once ()
PHP выполняет поиск по внутреннему индексу уже включенных файлов, прежде чем решить, загружать файл или нет.Чем больше включается в индекс, тем медленнее этот поиск.
Также при использовании include ()
или include_once ()
старайтесь по возможности использовать абсолютные пути, так как это намного быстрее, чем относительные пути, потому что вы не заставляете PHP определять за вас абсолютный путь.
Как сказал ggiroux, некоторая форма кеширования, такая как APC, принесет огромные выгоды и заставит беспокоиться о том, сколько вызовов include у вас нерелевантно (в основном) (если у вас нет плохо написанного кода).
РЕДАКТИРОВАТЬ -
Беспокойство по поводу вышеуказанных вызовов возникает только в том случае, если для начала у вас есть несколько тысяч требует
или включает
в вашу кодовую базу.