У меня есть сайт, который использует множество констант, которые определены следующим образом:
define('CONSTANT', 1)
В настоящее время у меня есть список из 200 таких. Этот список запускается каждый раз при загрузке страницы. Это повлияет на мою производительность или использование памяти плохо?
Есть причины избежать списка из 200 констант при каждой загрузке страницы, но производительность и использование памяти не будут среди них. В общем, лучший способ ответить на эти вопросы – запустить тесты. Измерьте время загрузки страницы и использование памяти как при загрузке 200 констант, так и без нее. Измерьте несколько тысяч раз и посмотрите на цифры. Я подозреваю, что вы найдете незначительную разницу. Микро-оптимизация обычно пустая трата времени.
Константы очень дружелюбны к памяти, а 200 определений не будут даже измерить разницу в производительности. Не нужно волноваться.
Я бы не подумал. У вас проблемы с производительностью с вашим скриптом? Если нет, то не беспокойтесь об этом. Если да, то что вы сделали, чтобы определить, где находится узкое место?
Если вам нужно знать, сколько времени потребуется, чтобы включить и проанализировать файл с вашими определениями, тогда я предлагаю вам время.
$start = microtime (true); include ('file_to_include.php'); echo (microtime (true) - $start);
Почему все определения? это, скорее всего, только замедлит вас, если у вас много трафика. если вы ставите их все на использование, я мог заметить, что это замедляет работу. в чем причина, может быть, есть лучший способ (я никогда не нуждался в более чем 5 константах)
Я не думаю, что это будет иметь большее влияние, чем чтение файла, который содержит 200 констант, а затем он будет оптимизирован вашим дисковым кешем. По крайней мере, это лучше, чем чтение 200 констант из базы данных. Если вы заботитесь о производительности, установите кеш-память op, поэтому он не будет требовать никакого дополнительного разбора каждый раз. Для памяти это зависит от типа ваших констант, но это не будет много.