随着我的webproject越来越大,我想知道PHP是否解释了这段代码,
<?php
function helloWorldOutput($helloworldVariable) {
echo 'Hello World' . $helloworldVariable;
}
helloWorldOutput("I am PHP");
?>
慢于此:
<?php
function a($b) { echo 'Hello World'+$b; }
a("I am PHP");
?>
因为PHP是一种没有编译二进制文件的解释语言,我认为第二个样本应该更快一些。这是真的,有没有任何一种预解释机制可以在PHP中缓存更快版本的代码?
答案 0 :(得分:3)
是的,将更大的代码解析/编译为字节代码需要一些额外的时间。时间通常可以忽略不计,所以你可能不必担心它,因为有更好的方法来处理编译时间。
为了提高性能,你要做的是使用PHP accelerator like for example APC来缓存已编译的代码并消除整个编译步骤,除了第一次访问页面时。
使用加速器可以消除任何可能的缺点,同时保持代码的注释和清晰,让您专注于功能而不是缩短代码。
答案 1 :(得分:1)
解析第一个版本并调用它将需要更长时间。因此,如果您决定使用第一个版本并调用一个名称单独很多的函数,很多次,仅仅因为解析第二个版本会稍快一些。从实际的函数执行开始 - 两个函数都不会同样快。
我的建议仍然是不要试图进行这样的微优化。性能略有提高,可读性将大大 。
答案 2 :(得分:0)
第一个例子有更少的字符,这意味着要解析farset, php在内部运行某种字节码,因此执行速度不会有太大差异。
最慢的位可能是从磁盘读取文件,短代码将轻松赢得该竞赛。