php 5.6,7.0静态方法调用和new调用方法性能差距

windows7 64 机器I5 8G内存,128G SSD

吐槽一下,win10内存的消耗,真的可怕

测试代码

class staticTest {

    public function test() {
        $i = 0;
        $i++;
    }

    public static function testStatic() {
        $i = 0;
        $i++;
    }

}

//echo memory_get_usage() . "<br>";
$start1 = microtime(true);
for ($i = 0; $i < 10000000; $i++) {
    $test = new staticTest();
    $test->test();
}
echo (microtime(true) - $start1) . "<br>";

//echo memory_get_usage() . "<br>";
$start2 = microtime(true);
for ($i = 0; $i < 10000000; $i++) {
    staticTest::testStatic();
}
echo microtime(true) - $start2 . "<br>";

//echo memory_get_usage();

php5.6

第一次

2.5889999866486
1.6800000667572

第二次

2.6199998855591
1.6879999637604

 php7.0 

第一次

1.2450001239777
0.45600008964539

第二次

1.2539999485016
0.45499992370605

 php7.1

第一次

1.0169999599457
0.43400001525879

第二次

1.0220000743866
0.38700008392334

 php7.2

第一次

0.94099998474121
0.38700008392334

第二次

0.97200012207031
0.38899993896484

第三次

0.95099997520447
0.38699984550476

其实在php7以后,性能差距也不算大了,但是还是静态调用好

第二个测试代码版本

原文地址:https://www.cnblogs.com/zx-admin/p/9228142.html