Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Влияние коментариев на производительность


Автор: Factorial 13.2.2010, 23:02
Вот такой вопрос,
имеется большой php-скрипт, размером в 900 кбайт, состоящий из 23000 строк кода.
На половину он состоит из комментариев в коду.

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

Автор: Fortop 13.2.2010, 23:05
Цитата(Factorial @  13.2.2010,  22:02 Найти цитируемый пост)
но занимают место в памяти?  

Не занимают. Тем более если используются байткод-кешеры (что кстати рекомендуется при таких файлах)

Впрочем, проверить это самому дело 5ти минут.
Прогнав файл с комментариями и без них. Например тем же ab от Apache

Автор: skyboy 13.2.2010, 23:46
если мне не изменяет память, выполнение скрипта "с нуля"(без опкод-кеша) состоит из:
1. лексический анализ
2. синтаксический анализ
3. семантический анализ
4. собственно выполнение
и комментарии как кусок текста, подходящий под определенный шаблон, отсеиваются на первом же этапе.
потому - теоретически, конечно, выбрасывание кода, сказывается на производительности. но практически навряд ли это что-то даст.

Автор: Nicklasos 13.2.2010, 23:46
Лучше оптимизировать алгоритмы, без комментариев будет не просто разобраться в таком скрипте.

Автор: Ипатьев 14.2.2010, 00:15
я бы для начала оптимизировал размер этого файла.
500 килобайт кода одним куском - это тоже многовато, раз в 10.

Автор: IgorIV 14.2.2010, 16:38
skyboy, а повтори, пожалуйста, то же самое, только с опкод-кешем.

Автор: nerezus 14.2.2010, 17:58
Не влияют абсолютно никак. Тема закрыта.

Цитата

потому - теоретически, конечно, выбрасывание кода, сказывается на производительности. но практически навряд ли это что-то даст.
 Вы забыли этап кэширования.

P.S. Закрываю тему чтобы избежать флуда.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)