PHP:“模板”和“报价”的速度差异是什么?
出于好奇,这样做的速度差异是什么:PHP:“模板”和“报价”的速度差异是什么?,php,html,performance,templates,Php,Html,Performance,Templates,出于好奇,这样做的速度差异是什么: $a = 0; echo "<html><body>$a</body></html>"; 对 <html><body><?php echo $a; ?></body></html> 在PHP文件中?让我们了解一下: <?php ob_start(); $a = 0; $time1 = microtime(true); for ($i = 0;
$a = 0;
echo "<html><body>$a</body></html>";
对
<html><body><?php echo $a; ?></body></html>
在PHP文件中?让我们了解一下:
<?php
ob_start();
$a = 0;
$time1 = microtime(true);
for ($i = 0; $i < 100000; $i++) {
echo "<html><body>$a</body></html>";
}
$time2 = microtime(true);
for ($i = 0; $i < 100000; $i++) {
?>
<html><body><?php echo $a; ?></body></html>
<?php
}
$time3 = microtime(true);
ob_end_clean();
echo 'Just echo: ' . ($time2 - $time1) . '<br>';
echo 'Inline PHP: ' . ($time3 - $time2) . '<br>';
?>
看起来第一种方法稍微快一点。但是差别太小了,可以忽略不计,而且绝对不是通过回显字符串输出大量HTML代码块的理由。可以忽略不计。统计上不相关,除非你做了一百万次,可能更多。几乎一样,两者都在5-10毫秒的范围内。你的两个例子都不包含。而否决票可能是因为你自己可以比写问题更快地确定这一点。所以你说,我可以自己回答这个问题,但我的时间比你的时间更重要,所以你这样做是为了我已经说过的,只有非常微不足道的差异。这两种方法中的一种只生成EXT_STMT和ECHO字节码,而另一种方法归结为添加字符串和打印。我真的很好奇,如果你用回声,$a,;忍者编辑:懒得把它放在评估中,这是一个已经为你做过的网站:你的代码不会在一次尝试中产生结论性的结果,请参阅。F5几次,看到两种方法都“赢”。这是因为它在PHP内部的操作码级别上是完全相同的。当我读到你答案的开头时,我立刻想到了70年代的Tootsie Pop广告。让我们看看,a-wuhun,a-twohu,a-three。三。@NielsKeurentjes第一种方法在我运行Windows的Apache环境中始终更快,但我可以肯定地想象,在其他环境中,结果是相同或相反的。
Just echo: 0.037185907363892
Inline PHP: 0.040054082870483