继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第10天 --性能优化之PHP优化第四章PHP语言级的性能优化(二)

兮兮依伏
关注TA
已关注
手记 30
粉丝 1
获赞 0

课程名称:性能优化之PHP优化


课程章节:PHP语言级的性能优化(二)



讲师:Pangee


https://www.imooc.com/video/4168



课程内容:


  1. 尽量多的使用PHP自带的系统函数、常量、变量

  2. PHP自带的函数 实现相同功能的函数 几个函数之间的性能也是有区分的 eg: isset() array_key_exists()

  3. 尽量规避PHP为我们提供的魔法函数 如自己实现起来非常费劲时 可以考虑使用魔法函数

   4.错误抑制符会产生额外的开销
  该符号运作机制:在注释的代码行首添加opcode设置错误等级,在行尾再添加一些opcode恢复错误等级.进而实现在         作用行实现忽略报错.
  5.可以通过安装vld-phpopcode扩展查看phpopcode代码.
 
  6不要用错误抑制符“@”,会增加额外的性能开销,且不便于发现问题。用try catch这种错误控制的方法查找问题。
7优化点:合理使用内存,使用unset()及时释放不适用的内存
情况描述:php有内存回收机制保底,但也请小心使用内存
好的建议:利用unset()及时释放不使用的内存(注:unset出现注销不掉的情况,可百度)

8优化点:尽量少使用正则表达式,利用字符串处理函数,实现相同的逻辑
情况描述:正则表达式的回溯开销较大,优化正则表达式需要技术活
好的建议:利用字符串处理函数,实现相同的逻辑
9避免在循环内做运算

10

优化点:务必使用带引号字符串做键名(这里准确来说应该叫键名而不叫键值)
情况描述:php会将没有引号的键名当做常量,产生查找常量的开销
好的建议:严格使用带引号作为键名


课程收获
php语言级性能优化点:减少计算密集型业务。
PHP不适合做密集型业务:大批量的日志分析、大批量数据处理、处理大数据。
php语言特性决定了php不适合做大数据运算。(php的底层是c,php的运算、处理流程都需要转换成C来实现,加上PHP的运行环境等因素,其效率不如C
php适用场景:适合衔接Webserver与后端服务UI呈现


http://img3.mukewang.com/6321b6460001d8e814130406.jpg

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP