#php #wordpress #performance
#php #wordpress #Производительность
Вопрос:
Мне нужно выполнить следующее
acf_add_local_field_group($array)
примерно в 15 раз, при общем количестве переданных строк в массиве из всех вызовов, что составляет около 7500 строк. Мне интересно, какая разница в скорости будет между двумя следующими сценариями:
- Массивы жестко закодированы в том же файле
- Каждый массив верхнего уровня помещается в файл json в вызываемом каталоге
acf-json
.
Второй метод для меня предпочтительнее, но меня беспокоит стоимость производительности, связанная с необходимостью считывать содержимое 15 разных файлов общим объемом 7500 строк. Это будет выполняться каждый раз для WordPress (вызывается в functions.php ), поэтому я не хочу подвергаться снижению производительности.
Я мог бы кэшировать файлы, но кэш нужно было бы сбрасывать каждый раз, когда новый код загружается с github, поэтому я не уверен, как это можно сделать, тем более, что мы не можем использовать сторонние плагины для кэширования
Комментарии:
1. Я не могу сказать ничего точного о том, какой производительности вы можете ожидать, но я думаю, что PHP будет кэшировать байт-код, который он генерирует из кода PHP, тогда как синтаксический анализ JSON, вероятно, будет происходить снова и снова каждый раз (что приведет к снижению производительности). Я думаю, PHP управляет этим автоматически, поскольку Zend OpCache был в комплекте с PHP.
Ответ №1:
Почему вы не используете массивы PHP вместо файлов Json?, таким образом, вам не нужно открывать файл, но требовать его и делать все, что вы хотите.
Комментарии:
1. Потому что, к сожалению, именно так acf хранит их, и если бы я изменил его на массивы, он не смог бы его прочитать