• 从性能的角度去看PHP函数的正确使用

    PHP函数的合理使用
    服务器君一共花费 275.979 ms 进行了 4 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    PHP的函数调用开销相对较大。函数相关信息保存在一个大的 hash_table 中,每次调用时通过函数名在hash表中查找,因此函数名长度对性能也有一定影响。

    下面是关于PHP函数的一些见解:

    • 函数返回引用没有多大的实际意义,性能也不会提高很多,用得不好反而会影响性能。
    • 内置php函数性能比用户函数高很多,尤其对于字符串类操作。
    • 类方法、普通函数、静态方法效率几乎相同,没有太大差异。
    • 除去空函数调用的影响,内置函数和同样功能的C函数性能是基本差不多的。
    • 所有的参数传递都是采用引用计数的浅拷贝,代价很小。
    • 函数个数对性能影响几乎可以忽略。

    因此,对于php函数的使用,有如下一些建议:

    • 一个功能可以用内置函数完成,尽量使用它而不是自己编写php函数。
    • 如果某个功能对性能要求很高,可以考虑用扩展来实现。
    • PHP函数调用开销较大,因此不要过分封装。有些功能,如果需要调用的次数很多本身又只用1、2行代码就行实现的,建议就不要封装调用了。
    • 不要过分迷恋各种设计模式,如上一条描述,过分的封装会带来性能的下降。需要考虑两者的权衡。PHP有自己的特点,切不可东施效颦,过分效仿java的模式。
    • 函数不宜嵌套过深,递归使用要谨慎。
    • 伪函数性能很高,同等功能实现下优先考虑。比如用isset代替array_key_exists。
    • 函数返回引用没有太大意义,也起不到实际作用,建议不予考虑。
    • 类成员方法效率不比普通函数低,因此不用担心性能损耗。建议多考虑静态方法,可读性及安全性都更好。
    • 如不是特殊需要,参数传递都建议使用传值而不是传引用。当然,如果参数是很大的数组且需要修改时可以考虑引用传递。
更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [运维管理] 路由器与交换机 4 个条目
  2. [PHP程序设计] PHP数组的遍历 7 个条目
  3. [C语言程序设计] C语言里的全局变量 2 个条目
  4. [移动开发] 从代码角度去认识 Activity 4 个条目
  5. [Python程序设计] Tornado源码解析 23 个条目
  6. [Python程序设计] 从PHP到Python 3 个条目
  7. [移动开发] 从代码角度去认识HttpClient 2 个条目
  8. [Python程序设计] Python Web部署的背景知识 9 个条目
  9. [移动开发] Android Studio里的Gradle 3 个条目
  10. [移动开发] Content Provider内容提供者 3 个条目
  11. [Python程序设计] Python数据类型 11 个条目
  12. [移动开发] Layout_weight属性解析 5 个条目
窗口 -- [资讯]