Оптимизация памяти PHP
Я использую xdebug для отслеживания некоторого кода, чтобы увидеть, сколько памяти он использует, но в начале трассировки он использует около 560224
байты памяти. Это нормально? Это перед выполнением любого кода.
Изменить: я должен был уточнить; это не то, что я пытаюсь оптимизировать. Я только заметил это и хотел объяснения.
1 ответ
# php -r 'var_dump(memory_get_usage());'
int(75880)
# php -r 'var_dump(memory_get_usage());'
int(75880)
# php -r 'var_dump(memory_get_usage());'
int(75880)
Здесь есть две интересные вещи: простой "скрипт" берет 76k в командной строке, и он постоянно делает это.
# php -r 'var_dump(memory_get_usage()); echo "";'
int(76016)
# php -r 'var_dump(memory_get_usage()); echo ""; echo "";'
int(76160)
Добавление кода добавляет к использованию памяти. Не удивительно - разобранный код должен куда-то идти.
Итак, использование памяти, которое вы видите, - это весь ваш код и все остальное, что создается во время запуска. Помните, что к моменту запуска вашей первой строки кода PHP уже много раз анализировал, если не весь код. (любые динамические включения или автозагрузки могут привести к тому, что какой-то анализ случится позже)
Попытка сократить это может быть бесполезной, в общем и целом, хотя вы можете попытаться избежать ненужных включений. В любом случае, это просто хорошая идея.