Ответ 1
В соответствии с этим старым сообщением APC или другой ускоритель доступен на сервере, то простые файлы PHP будут самыми быстрыми из-за того, что они будут проанализированы только один раз и хранится в памяти для дальнейшего использования.
Я знаю, что некоторые люди хранят настройки в файле .ini и получают значения с parse_ini_file()
в PHP. Без выполнения тестов мне интересно узнать о производительности.
Знаете ли вы, может ли кеш-код операции кэшировать любой из этих типов, если параметр находится в ini файле?
В соответствии с этим старым сообщением APC или другой ускоритель доступен на сервере, то простые файлы PHP будут самыми быстрыми из-за того, что они будут проанализированы только один раз и хранится в памяти для дальнейшего использования.
Для другой части вопроса: Если кеш-код операции кэширует ini файлы. На момент написания моей версии PHP 5.3.5 кеш APC не делал этого в автоматическом режиме, но вы можете убедиться, что ini файлы кэшируются APC, добавив функцию, подобную следующей, и используйте ее для разбора ini файлов:
function parse_ini_file_ext ($file, $sections = null) {
ob_start();
include $file;
$str = ob_get_contents();
ob_end_clean();
return parse_ini_string($str, $sections);
}
Затем ini файлы кэшируются APC. Измеряется с помощью простого теста microtime, это также быстрее, чем прямое чтение ini файлов.
У меня всегда возникало подозрение, что parse_ini_file очень медленный, и что хранение переменных в массивах в файлах PHP происходит быстрее. Но там в этой статье в статье, в которой говорится иначе:
И, наконец, мы тестируем сохранение параметров конфигурации в INI файле или в файле PHP как ассоциативный массив. Мы обнаружили, что сохранение в INI файле и использование parse_ini_file() быстрее, чем анализ файла PHP.
Я не буду полностью в это поверить, пока не испытаю его сам, когда подойду к нему некоторое время. Но статья (и журнал) выглядит достаточно солидно, чтобы ее воспринимали всерьез.
Встроенная функция parse_ini_file
реализована в C. Это делает ее довольно быстрой.
Вы будете намного быстрее, если не будете кэшировать ini файл. Все эксперты могут сказать, что это правда.