Комментарии в коде и скорость работы

Positive

Новичок
Комментарии в коде и скорость работы

Доброго дня, уважаемые любители и профессионалы PHP :)

Хотел поинтересоваться, задумывался ли кто-нибудь о влиянии комментариев в PHP на время генерации страницы?

У меня вот допустим следующая ситуация, имеется сложная структура CMS, где инклюдится куча больших файлов, и чтобы не запутаться они от души напичканы коментариями, в том числе описанием в начале каждого файла, со всеми функциями и т.п.
В результате файл занимет скажем 50кб, из которых кода - только 25кб.

Я так понимаю, чтобы выполнить скрипт, парсер должен прочитать файл целиком и выкинуть коментарии. Получается, на каждом таком файле я теряю 25К оперативки и драгоценное процессорное время? Или может быть я не прав?

Имеет ли смысл держать комментарии только на девелоперской версии сайта, а на рабочей - чистый код?

Высказывайте ваши соображения..
 

crocodile2u

http://vbolshov.org.ru
Positive
Комментарии в коде и потери на их парсинг - узкое место вашего проекта? :)
 

Positive

Новичок
Я бы не сказал, просто интересно возможно ли таким методом высвободить процессор под другие нужды ;)
 

crocodile2u

http://vbolshov.org.ru
Прикола ради соорудил сейчас файлик:

PHP:
$start = microtime(true);
/* -------------- */
....
/* -------------- */
echo (microtime(true) - $start)."\n";
Напихал туда комментариев на 2,5 Мб. Выполнение занимает ничтожно мало времени на моем не шибко шустром компе...
 

Positive

Новичок
Да, попробовал подобный эксперимент, разницы практически не видно.
 

.des.

Поставил пиво кому надо ;-)
Positive ваши несуществующие проблемы решает любой акселератор.

А специально для вас прочитайте опции коммандной строки php. В частности -w
 

bkonst

.. хочется странного?...
crocodile2u
Это вы так скорость компиляции меряете ?!
 

crocodile2u

http://vbolshov.org.ru
Дело не в компиляции. А в том, чтобы внимание свое обращать на _реальные_ проблемы, а не высасывать новые из пальца.
 

bkonst

.. хочется странного?...
С этим я не спорю. Просто даже если бы удаление комментариев парсером занимало МНОГО времени, этот тест все равно бы выдавал "ничтожно малое время".
 

.des.

Поставил пиво кому надо ;-)
crocodile2u а что это меняет? :)
в данном случае мерять надо утилитами типа ab
 

Денч

Новичок
bkonst
А они (комментарии) разве удаляются?
Насколько я помню, они просто пропускаются еще на стадиилексического анализа.
 

SiMM

Новичок
> они просто пропускаются еще на стадиилексического анализа.
Именно поэтому тест crocodile2u
> все равно бы выдавал "ничтожно малое время".
 

white phoenix

Новичок
К тесту crocodile2u стоит добавить [m]include[/m], т.е.
test.php:
PHP:
$start = microtime(TRUE);
include './code.php';
echo microtime(TRUE) - $start;
code.php:
PHP:
/* -------------- */ /* -------------- */
// ...
/* -------------- */ /* -------------- */
Результаты (Windows, PHP 5.1.2, P4):
Размер code .php - Время (сек)
40 MB - 2.232
20 MB - 1.201
2 MB - 0.1091
Отсюда видно что проблема явно высосана из пальца.
 

Денч

Новичок
хм.
странно, а у меня
Fatal error: Maximum execution time of 30 seconds exceeded in d:\internet\home\localhost\www\test_.php on line 2
php 4.4.1 winXP, P3, файл 2.7M

PHP:
$start = microtime(true); 
/*
.... 
*/ 
echo (microtime(true) - $start)."\n";
 

white phoenix

Новичок
Денч
> php 4.4.1
[m]microtime[/m]:
Замечание: Аргумент get_as_float появился в PHP 5.0.0.
PHP:
function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}
Интересный эффект c Fatal error: Maximum execution time of 30 seconds exceeded, ведь мне думается что какие-либо ошибки (кроме E_PARSE) могу появляться лишь после завершения компиляции. А обработка (читай пропуск) комментария происходит на стадии компиляции.
 

Kelkos

Сам себе программер
Посмешили, однако..
Кстати, вот вам ещё задачка, какие комментарии меньше требуют времени на обработку?

//такие комметарии
или
/* такие комметарии */

:) :) :)
 

alan4ick

Guest
Kelkos
>>А ты замерял? Какая скорость обработки 100мб файла с такими >>комментариями?
Это у тебя linux ядро на php на 100 Мб ? :))
 
Сверху