PHP类静态方法效率测试代码

类的定义如下:
复制代码代码如下所示:
类测试
{
公共静态函数(a){
公共函数(b){
}
$ obj =新的测试;

比较下列情况
测试::(a);
$ obj ->一();
$ obj -> b();
测试代码:
复制代码代码如下所示:
$ obj =新的测试;
test_times = 100美元;
10000美元;
effi1美元=阵();
为达到=阵();

而($ test_times --> 0)
{
1美元=瞬时(真的);
($ i = 0;$ i < $乘以;$ + +)
{
测试::(a);
}
2美元=瞬时(真);
($ i = 0;$ i < $乘以;$ + +)
{
$ obj ->一();
}
3美元=瞬时(真);
($ i = 0;$ i < $乘以;$ + +)
{
$ obj -> b();
}
4美元=瞬时(真);
effi1美元{ } =($ 3至时间)/($ 2 - 1美元);
为达到{ } =($ 4至时间)/($ 3至时间);
}
回声AVG($ effi1),

最终AVG是自定义计算平均值的函数:
复制代码代码如下所示:
函数avg($ ARR)
{
$结果=0;
foreach(ARR美元美元价值)
{
$结果;
}
结果美元/ =计数($ ARR);
返回$结果;
}

程序输出结果:
复制代码代码如下所示:
PHP 5.2.14
0.76490628848091看sourceprint1
二十一点零六九九四八四三七六三九九
查看sourceprint1 PHP 5.3
查看sourceprint1 0.569194822990581.1016495598611

n(n > 10)次数的重复执行与此结果不完全相同。
1。访问静态方法直接通过类名的效率为76%的静态方法,通过一个实例,即使在PHP5.3只有56%。
2。通过实例访问静态方法的效率是访问非静态成员方法的效率的106,在5.3版本中是110%。
3、通过类名访问静态方法的效率是不是如果PHP是从5.2升级到5.3的降低,然后通过实例访问功能的效率至少是35%。我没见过的PHP源代码,和一个朋友有了PHP源想告诉我这是否假设是成立的(我认为应该设立)。
Explanation: the above tests are based on Windows 7 and php.exe. 使用apache2.2 5.2.14测试结果。他们之间没有区别。考虑到php.exe和Web核心所实现的Web那些相同的,所以5.3是懒得改变服务器的配置。结果应该是一样的。