PHP静态延迟绑定与一般静态效率比较

PHP静态延迟绑定与一般静态效率比较
PHP静态延迟绑定与一般静态效率比较

这只是一个简单的小实验,比较了低延迟绑定和非延迟效率。
延迟绑定主要是使用静态关键字来代替原来的自己,但功能非常强大。

实验代码:

类{
保护静态$ CC1 =阵列(步骤,B,C,D);
保护静态数组('a2 CC2 =美元,B,C,D);
保护静态数组('a3 CC3 =美元,B,C,D);
保护静态数组('a4 CC4 =美元,B,C,D);
保护静态数组('a5 CC5 =美元,B,C,D);

公共静态函数N1(){
返回静态::$ CC1;
}
公共静态函数n2(){
返回静态::$ 2;
}
公共静态功能N3(){
返回静态::$ CC3;
}
公共静态函数N4(){
返回静态::$ CC4;
}
公共静态函数x(){
返回静态::$ CC5;
}
}

类C扩展{

}

B类{
保护静态$ CC1 =阵列(步骤,B,C,D);
保护静态数组('a2 CC2 =美元,B,C,D);
保护静态数组('a3 CC3 =美元,B,C,D);
保护静态数组('a4 CC4 =美元,B,C,D);
保护静态数组('a5 CC5 =美元,B,C,D);

公共静态函数N1(){
回归自我::$ CC1;
}
公共静态函数n2(){
回归自我::$ 2;
}
公共静态功能N3(){
回归自我::$ CC3;
}
公共静态函数N4(){
回归自我::$ CC4;
}
公共静态函数x(){
回归自我::$ CC5;
}
}
a、b和c有三个类,它们都是静态成员变量和方法
A类使用静态延迟,

B类是不延迟的。

C类是一个延迟绑定,它继承了一类静态成员变量和方法。

过程就不多说了,环境是php5.4.27直接测试结果:

有两个案例。
1。当只有一个B类(也就是说,没有类被允许继承一个类)时,效率几乎没有差别。
2。当一个类被C类继承时,使用静态延迟绑定的类性能将比B类稍差(只要具有继承类的类将是缓慢的)

十万个周期,2.8s和3.2s间隔的时间大约是0.3秒,它应该被忽略。

添加一些:稍后,添加一些测试方法。如果C类继承了类A,重载了部分A类中的一些静态成员变量,那么负载越重,速度和B类(非延迟)就越近,但类A的速度仍然比B类和C类慢。

如果您有任何问题,请在本站留言或与社区交谈。谢谢你的阅读。我希望你能帮助你。感谢您对本站的支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部