使用较小的代码,使用像PHP这样的解释器的语言会更快吗?

时间:2013-02-03 10:21:48

标签: php performance

随着我的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中缓存更快版本的代码?

3 个答案:

答案 0 :(得分:3)

是的,将更大的代码解析/编译为字节代码需要一些额外的时间。时间通常可以忽略不计,所以你可能不必担心它,因为有更好的方法来处理编译时间。

为了提高性能,你要做的是使用PHP accelerator like for example APC来缓存已编译的代码并消除整个编译步骤,除了第一次访问页面时。

使用加速器可以消除任何可能的缺点,同时保持代码的注释和清晰,让您专注于功能而不是缩短代码。

答案 1 :(得分:1)

解析第一个版本并调用它将需要更长时间。因此,如果您决定使用第一个版本并调用一个名称单独很多的函数,很多次,仅仅因为解析第二个版本会稍快一些。从实际的函数执行开始 - 两个函数都不会同样快。

我的建议仍然是不要试图进行这样的微优化。性能略有提高,可读性将大大

答案 2 :(得分:0)

第一个例子有更少的字符,这意味着要解析farset, php在内部运行某种字节码,因此执行速度不会有太大差异。

最慢的位可能是从磁盘读取文件,短代码将轻松赢得该竞赛。