Оптимизация памяти 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 уже много раз анализировал, если не весь код. (любые динамические включения или автозагрузки могут привести к тому, что какой-то анализ случится позже)

Попытка сократить это может быть бесполезной, в общем и целом, хотя вы можете попытаться избежать ненужных включений. В любом случае, это просто хорошая идея.

Другие вопросы по тегам