Страницы

Поиск по вопросам

вторник, 15 января 2019 г.

Нагрузка PHP-интерпретатора

Несколько вопросов к людям, хорошо понимающим работу интерпретатора PHP. Сказывается ли на скорости выполнения скрипта количество открывающих дескрипторов? Т.е. в файле смесь из HTML разметки и PHP кода, при этом скажется ли существенно на производительности, если мы будем открывать и закрывать на каждой строке? Этот: 0 ) { echo 'yes'; } else { echo 'no'; } ?> или 0 ) { ?> Есть ли разница, по скорости выполнения интерпретатором, классического синтаксиса и альтернативного? Т.е. между таким: 0 ) { echo 'yes'; } else { echo 'no'; } ?> и таким: 0 ): echo 'yes'; else: echo 'no'; endif; ?> вариантами. Какой из вариантов вывода переменной и результатов функции использует меньше ресурсов, если вообще есть разница? Этот: или этот:


Ответ

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

Комментариев нет:

Отправить комментарий