PHP静态延迟绑定和普通静态效率的对比
只是一个简单的小实验,对比了下 延迟绑定 和 非延迟的效率
延迟绑定主要就是使用 static 关键字来替代原来的 self ,但功能非常强大了
实验代码:
class A { protected static $cc1 = array('a1', 'b', 'c', 'd'); protected static $cc2 = array('a2', 'b', 'c', 'd'); protected static $cc3 = array('a3', 'b', 'c', 'd'); protected static $cc4 = array('a4', 'b', 'c', 'd'); protected static $cc5 = array('a5', 'b', 'c', 'd'); public static function n1() { return static::$cc1; } public static function n2() { return static::$cc2; } public static function n3() { return static::$cc3; } public static function n4() { return static::$cc4; } public static function n5() { return static::$cc5; } } class C extends A { } class B { protected static $cc1 = array('a1', 'b', 'c', 'd'); protected static $cc2 = array('a2', 'b', 'c', 'd'); protected static $cc3 = array('a3', 'b', 'c', 'd'); protected static $cc4 = array('a4', 'b', 'c', 'd'); protected static $cc5 = array('a5', 'b', 'c', 'd'); public static function n1() { return self::$cc1; } public static function n2() { return self::$cc2; } public static function n3() { return self::$cc3; } public static function n4() { return self::$cc4; } public static function n5() { return self::$cc5; } }
上面总共 A 、B 、C 三个类,里面全是静态成员变量和方法,其中
A 类是使用了静态延迟,
B 类是非延迟,
C 类是继承A类实现了静态成员变量和方法的延迟绑定。
过程也不多说了,环境是 PHP5.4.27 直接上测试结果:
有两种情况,
1. 当只有 A、B类(也就是不让任何类继承A类)时,效率上几乎没有差别的
2. 当A类被C类继承了之后,使用静态延迟绑定的A类性能将会比 B类稍差一些(只要A类有了继承的类就会变慢)
循环十万次,耗时在 2.8s ~ 3.2s 之间 时间差距在 0.3 秒左右,应该还是可以忽略不计了吧
补充个:后来加了些测试方法,如果 C 类继承 A 类后,重载了部分 A 类中的静态成员变量,重载的越多则速度和 B 类(非延迟)就越接近,但 A 类的速度仍然会比 B 类 和 C 类慢
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]