Как выбрать самый оптимальный и быстрый формат хранения настроек скрипта или веб-приложения. Конфиги должны быть легко читаемыми, легко модифицируемыми, легко переносимыми, и ... максимально быстрыми.
Так как серверные PHP-скрипты выполняются, бывает, много раз в секунду, скорость загрузки конфигов — достаточно важный параметр.
Сравнение различных вариантов хранения настроек для PHP-скриптов с точки зрения скорости их работы
метод/кол-во записей | 10 | 100 | 1000 |
---|---|---|---|
Файлы с сериализованными данными | 0.011 | 0.041 | 0.309 |
JSON-файлы | 0.015 | 0.057 | 0.495 |
INI-файлы | 0.015 | 0.086 | 0.784 |
PHP-скрипты | 0.029 | 0.111 | 0.902 |
Текстовые файлы 2 | 0.036 | 0.250 | 2.213 |
Текстовые файлы | 0.034 | 0.250 | 2.369 |
PHP-скрипты с define'ами | 0.045 | 0.252 | 2.404 |
XML-файлы 2 | 0.047 | 0.276 | 2.791 |
XML-файлы | 0.062 | 0.385 | 3.911 |
x1 = 1
x2 = 2
x3 = 3
function config($file) {
return parse_ini_file($file);
}
<?
return array (
'x1' => '1',
'x2' => '2',
'x3' => '3',
);
?>
function config($file) {
return include($file);
}
<root>
<x1>1</x1>
<x2>2</x2>
<x3>3</x3>
</root>
function config($file) {
$r = array();
$dom = new DOMDocument;
$dom->load($file);
foreach ($dom->firstChild->childNodes as $node) {
if ($node->nodeType == XML_ELEMENT_NODE) {
$r[$node->nodeName] = $node->firstChild->nodeValue;
}
}
return $r;
}
function config($file) {
$r = array();
foreach(simplexml_load_file($file) as $k => $v) {
$r[$key] = strval($v);
}
return $r;
}
x1 1
x2 2
x3 3
function config($file) {
$r = array();
if ($F = Главное
Услуги и Цены
Акции
Отзывы
Заказать
Контакты
Пишите: 77@2828.ru
Звоните: +7(985)345-6172
Правовая информация
О сайте
Сайт работает на MX2VIP PRO CMS
При поддержке 2828.ru Клуба Технологии Здравого Смысла
Есть вопросы?
свяжитесь с нами прямо сейчас по Эл. почте: 1@2828.ru WhatsApp: +7 (985) 345-61-72 Телефону: +7 (985) 345-6172✓ Отлично!
Мы благодарны Вам за интерес, проявленный к продуктам и услугам нашей компании.
Если у Вас возникнут какие-либо вопросы или будет необходима дополнительная информация, пожалуйста, обращайтесь к нам, мы с удовольствием Вам ответим.
✗ Упс…
Что-то пошло не так.
Лучше, попробуйте позвонить +7 (985) 345-6172
или написать E-mail: 1@2828.ru WhatsApp: +7 (985) 345-61-72
А мы подождём…
Сайт размещен на хостинге 2domains.ru