PHP类中Static方法效率测试代码
分类:PHP作者:编程之家
类的定义如下:
<div class="codetitle"><a style="CURSOR: pointer" data="27228" class="copybut" id="copybut27228" onclick="doCopy('code27228')"> 代码如下:
<div class="codebody" id="code27228">
class test
{
public static function a(){}
public function b(){}
}
$obj = new test;
比较以下几种情况
test::a();
$obj->a();
$obj->b();
测试
代码:
<div class="codetitle">
<a style="CURSOR: pointer" data="18942" class="copybut" id="copybut18942" onclick="doCopy('code18942')"> 代码如下: <div class="codebody" id="code18942">
$obj = new test;
$test_times = 100;
$times = 10000;
$effi1 = array();
$effi2 = array(); while ($test_times-- > 0)
{
$time1 = microtime(true);
for($i=0; $i<$times; $i++)
{
test::a();
}
$time2 = microtime(true);
for($i=0; $i<$times; $i++)
{
$obj->a();
}
$time3 = microtime(true);
for($i=0; $i<$times; $i++)
{
$obj->b();
}
$time4 = microtime(true);
$effi1[] = ($time3 - $time2) / ($time2 - $time1);
$effi2[] = ($time4 - $time3) / ($time3 - $time2);
}
echo avg($effi1),"\n",avg($effi2);