Страницы

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

четверг, 2 января 2020 г.

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

#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



По моему это "экономия на спичках" и вряд ли кто-нибудь даст точный и правильный ответ

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

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