#php #производительность #интерпретатор
Несколько вопросов к людям, хорошо понимающим работу интерпретатора PHP. Сказывается ли на скорости выполнения скрипта количество открывающих дескрипторов? Т.е. в файле смесь из HTML разметки и PHP кода, при этом скажется ли существенно на производительности, если мы будем открывать и закрывать на каждой строке? Этот: 0 ) { echo 'yes'; } else { echo 'no'; } ?> или 0 ) { ?> Есть ли разница, по скорости выполнения интерпретатором, классического синтаксиса и альтернативного? Т.е. между таким: 0 ) { echo 'yes'; } else { echo 'no'; } ?> и таким: 0 ): echo 'yes'; else: echo 'no'; endif; ?> вариантами. Какой из вариантов вывода переменной и результатов функции использует меньше ресурсов, если вообще есть разница? Этот: или этот:
Ответы
Ответ 1
0) { echo $e; } else echo $e; } echo '
'.(microtime(1)-$st); $st = microtime(1); for ($i = 0; $i < 1000000; $i++) { ?> 0) { ?> '.(microtime(1)-$st); echo '
'; $st = microtime(1); for ($i = 0; $i < 1000000; $i++) { ?> 0) { ?> '.(microtime(1)-$st); $st = microtime(1); for ($i = 0; $i < 1000000; $i++) { ?> 0) { ?> '.(microtime(1)-$st); echo '
'; ?> Результат: 0.08100700378418 2.4613921642303 ---- 3.0508909225464 2.4576618671417 Последние 2 менялись от "1.5/6" до "4/1", так что скорее одинаковые. А вот первая пара - говорящая) UPDATE, синтаксис 0) { echo $e; } else echo $e; } echo '
'.(microtime(1)-$st); $st = microtime(1); for ($i = 0; $i < 1000000; $i++) { if (1 > 0): echo $e; else: echo $e; endif; } echo '
'.(microtime(1)-$st); echo '
'; ?> 0.089139938354492 0.082063913345337Ответ 2
По моему это "экономия на спичках" и вряд ли кто-нибудь даст точный и правильный ответ
Комментариев нет:
Отправить комментарий