PHP语言性能优化——少使用魔术方法

对以下使用魔术方法和不适用魔术方法运行时间进行比较

使用魔术方法test1.php:

<?php 

/**
* 测试类
*/
class test
{
    private $name = "jepeng";

    public function __get($varname)
    {
        return $this->name;
    }
}

$i = 0;

while ( $i<= 10000) {
    $i++;
    $test = new test();
    $test->name;
}

不使用魔术方法test2.php

<?php 

/**
* 测试类
*/
class test
{
    public $name = "jepeng";
}

$i = 0;

while ( $i<= 100000) {
    $i++;
    $test = new test();
    $test->name;
}

检测

time php test1.php

time php test2.php

结果

test1.php
real    0m0.015s
user    0m0.008s
sys    0m0.006s

test2.php
real    0m0.017s
user    0m0.014s
sys    0m0.002s

明显不使用魔术方法的运行时间是使用魔术方法的一半,如果项目很大,那么性能影响就会很大。

0 条评论
发表一条评论