Преимущества и недостатки инкапсуляции комментариев в <? Php / * * /?> На странице HTML? - PullRequest
2 голосов
/ 10 марта 2012

Недавно я наткнулся на некоторый код, который выглядит примерно так:

<head>
   <?php /* The following scripts are required */ ?>
   <script type="text/javascript" src="script.js"></script>
</head>

, где PHP состоит из только комментария в HTML-документе.

Я полагаю, это было сделано для того, чтобы комментарий не был виден в исходном коде страницы, и чтобы результирующая HTML-страница была светлее. Clever.

Тем не менее, мне интересно, какое влияние на производительность или какое-либо другое заметное предостережение на бесполезное использование движка PHP.

Ответы [ 5 ]

6 голосов
/ 10 марта 2012

Производительность настолько невероятно мала, что вам не о чем беспокоиться. Любое влияние будет компенсировано пропускной способностью, которую вы сэкономите, не посылая HTML-комментарии своему пользователю. На очень загруженном веб-сайте это стоило бы сэкономить.

2 голосов
/ 10 марта 2012

Все остальные, по сути, говорят: «это мало что меняет».Это правильное наблюдение для пары шаблонов инфраструктуры: где PHP поставляется через mod_php5 или одну из истинных FastCGI реализаций.Однако это, безусловно, , но не для учетной записи общего хостинга, где разделение учетных записей осуществляется с помощью UID, а PHP доставляется путем активации php-cgi за запрос .Это примерно 100 мсек. ЦП на каждый запрос, тогда как Apache, обслуживающий HTML-страницу, стоит несколько мсек.

Коэффициент загрузки, равный примерно 30-кратному значению, при загрузке ЦП для таких запросов не означает, что «это очень мало меняет».

2 голосов
/ 10 марта 2012

Хороший вопрос!

Настройка контрольного примера, чтобы определить, каким будет попадание.Тестовые сценарии:

<head>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
   <!-- The following scripts are required -->
   <script type="text/javascript" src="script.js"></script>
</head>

И то же самое, но с заменой HTML комментариями PHP.Я использовал 10 комментариев, чтобы упростить математику - и это, вероятно, в правильном балл-парке.

10000 запросов заняли 9.117546 секунд при использовании комментариев HTML и 10.92784 секунд при использовании комментариев PHP.Разница составляет 1,81029 секунд, что делает загрузку страницы на 0,000181029 секунд быстрее для HTML, что означает, что средняя загрузка страницы была на 1/10000 секунды медленнее при использовании PHP для скрытия комментариев.

Переданные данные были 5,55 МБ длякомментарии PHP и 11,4 МБ для HTML - здесь нужно отметить, что разница искусственно велика, потому что нет HTML-контента.

Полные результаты тестов вы можете увидеть здесь: http://slightlymore.co.uk/html_comments.txt иhttp://slightlymore.co.uk/php_comments.txt

Короче говоря, снижение производительности в PHP незначительно, но сэкономленная пропускная способность окупится гораздо больше.

0 голосов
/ 10 марта 2012

Хит производительности не будет виден ни клиентам, ни на сервере.Я не могу представить, что разница в производительности была бы ощутимой.

0 голосов
/ 10 марта 2012

Комментарии, инкапсулированные в <!-- -->, будут отправлены клиенту, комментарии в <?php ?> - нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...