哪个更快...顺序脚本或实例化类?

时间:2013-11-29 06:02:04

标签: php performance runtime

关于运行时的一个简单问题...运行带有许多顺序命令的脚本或实例化一个调用每个方法等于相同调用次数的新类对象会更快。基本上我要问的是写“new Example();”让它运行所有方法比在一个顺序脚本中运行所有代码更快或更慢。在我看来,我在PHP中想象这个。

<?php
echo new Example();
class Example
{
    function __toString(){
        $this -> method1();
        $this -> method2();
        $this -> method3();
        $this -> method4();
    }

    function method1(){
        //contents1;
    }

    function method2(){
        //contents2;
    }

    function method3(){
        //contents3;
    }

    function method4(){
        //contents4;
    }
}
?>

<?php
//contents1;
//contents2;
//contents3;
//contents4;
?>

哪一个更快还是更简单和/或依赖于编译器?

2 个答案:

答案 0 :(得分:0)

构造新对象并调用方法时会增加额外开销。但并不多。

除此之外我不认为会对速度产生太大影响,但是因为PHP放置的东西,空间可能会非常小。

对象在OO设计中非常有用,只需运行一次的脚本也可以单独使用。

还有许多其他的东西,比如堆栈跟踪,对象作为宠物非对象,如果遇到错误,可能会改变。

但要回答你的问题 - 除了为php构建/解释对象的开销之外,最小的速度影响。

除此之外,阅读“时间复杂度”和“大哦”符号。顺序步骤之间的差异与速度如何根据输入“n”和算法的复杂性而变化相比微不足道。

答案 1 :(得分:0)

OOP不会影响您的Web应用程序的性能,但有几件事情会发生,例如页面上的大量数据,调用外部Web服务而不设置时间限制(RSS源),大图像文件或批量页面上的图像文件,并在没有必要时在回发上反复点击数据库。还有其他几项会影响您网站的性能,但这些都是基础知识。