2019独角兽企业重金招聘Python工程师标准>>>

接上篇

3.    优化点:尽可能少的使用魔法函数

情况描述:PHP提供的魔法函数,性能不佳

为什么呢?为了给PHP程序员省事,PHP语言为此做了很多

好的方法:尽可能规避使用PHP魔法函数,需要使用的时候,权衡一下利弊

4.    优化点:产生额外开销的错误抑制符@

情况描述:PHP提供的错误抑制符只是为了方便“懒人”

@符号的实际逻辑:在代码开始前,结束后,增加了opcode,忽略了报错。

好的建议:建议尽量不要使用@错误抑制符

5.    优化点:合理使用内存

情况描述:PHP有内存回收机制保底,但也请小心使用内存。

好的建议:利用unset()即使释放不使用的内存。(注意:unset会出现注销不掉的情况)

6.    优化点:尽量少的使用正则表达式

情况描述:正则表达式的回溯开销较大,如果正则表达式的基础不好,还是慎用。

好的建议:利用字符串处理函数,实现相同的逻辑。

7.    优化点:避免在循环内做运算

情况描述:循环内的计算式将会被重复计算。

代码示例:

//错误的做法,每次循环都要计算一下$str的长度
$str    =    'hello world';
for($i=0;$i<strlen($str);$i++){//这里是逻辑
}
//正确的做法,只需计算一次长度即可
$str    =    'hello world';
$len    =    strlen($str);
for($i=0;$i<$len;$i++){//这里是逻辑
}

8.    优化点:减少计算密集型业务

情况描述:PHP不适合密集型运算的场景。PHP特性决定了PHP不适合做大数据量运算。

PHP适用场景,适合衔接webserver与后端服务,UI呈现。

9.    优化点:务必使用带引号的字符串作为键值

情况描述:PHP会将没有引号的键值当做常量来处理,产生查找常量的开销。

好的建议:严格使用引号键值。

转载于:https://my.oschina.net/woshixiaomayi/blog/510167

小蚂蚁学习PHP性能优化(2)--PHP语言级性能优化相关推荐

  1. seo优化需要c语言吗,SEO优化人员需要优化哪些代码?

    对于一个优秀的SEO人员来说,虽然不需要精通代码,但是一些简单的基本代码是需要理解的. 如果你想成为一个优秀的搜索引擎优化人员,你需要有一个不断学习的精神.我们网站中的一个页面需要优化网站代码.如果你 ...

  2. c语言学习进阶-C语言程序性能优化

    标题C语言程序性能优化 (1)进一步提升程序的计算能力.使之能计算任意实数的任意次方的输出结果,我们 将计算的次方数也放在命令行参数中,作为第3 个命令行参数,例如:d:>p.exe input ...

  3. C++应用程序性能优化(三)——C++语言特性性能分析

    C++应用程序性能优化(三)--C++语言特性性能分析 一.C++语言特性性能分析简介 通常大多数开发人员认为,汇编语言和C语言比较适合编写对性能要求非常高的程序,C++语言主要适用于编写复杂度非常高 ...

  4. 程序语言python的优化版_从20秒到0.5秒:一个使用Rust语言来优化Python性能的案例...

    Sentry 是一个帮助在线业务进行监控及错误分析的云服务,它每月处理超过十亿次错误.我们已经能够扩展我们的大多数系统,但在过去几个月,Python 写的 source map 处理程序已经成为我们性 ...

  5. c 语言编写脚本优化,两周自制脚本语言-第11天 优化变量读写性能

    第11天 优化变量读写性能 以变量值的读写为例,向读者介绍基于这种理念的语言处理器性能优化方式. 11.1 通过简单数组来实现环境 假如函数包含局部变量x与y,程序可以事先将x设为数组的第0个元素,将 ...

  6. 深度学习 训练吃显卡_深度学习训练如何更快些?GPU性能的I/O优化你试过吗?...

    原本,有多少人已经准备好最新显卡,足够的硬盘空间,甚至请好年假,只为十天后去那个仰慕已久的赛博朋克世界里体验一番-- 结果他们又发了一张「黄色背景图」,告诉大家要跳票--再一次-- 好吧,你有了大量闲 ...

  7. GEMM性能提升200倍,AutoKernel算子优化工具正式开源

    作者 | OPEN AI LAB 研究员 吕春莹 出品 | AI科技大本营 头图 | CSDN下载自视觉中国 随着AI技术的快速发展,深度学习在各个领域得到了广泛应用.深度学习模型能否成功在终端落地应 ...

  8. go语言学习路线图_开篇:Go 语言的优势与学习路线图

    开篇:Go 语言的优势与学习路线图 由 学院君 创建于1年前, 最后更新于 4个月前 版本号 #5 简介 Go 语言又称 Golang,由 Google 公司于 2009 年发布,近几年伴随着云计算. ...

  9. 提高linux上socket的性能(linux优化),提高 Linux 上 socket 性能

    使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信.与其他 API 一样,您可以通过一些方法使用 Soc ...

最新文章

  1. 通用权限管理系统组件中简易员工档案管理模块参考
  2. oracle pcm x6-2,Sun 7310210服务器Oracle X6-2原装拆机内存7310244 7090170
  3. C++ operator 知识点
  4. 项目管理沙龙第五次聚会
  5. Servlet方法详解
  6. Linux下新手基本操作及技巧看图上路 (7)
  7. linux 进程间通信-信号量(semagpore)
  8. vue中使用axios发送请求(二)
  9. 回归方程的拟合优度检验_线性回归模型的拟合优度检验方法分析.ppt
  10. opencv 场景文字识别
  11. mybatis 源码系列(四) 数据库驱动Driver加载方式
  12. TCP三次握手四次挥手
  13. Eclipse创建javaWeb项目工程
  14. 基于机器学习的锂离子电池健康状态预测:进展与展望
  15. redis之可视化工具
  16. linux(七) echo的两种用法
  17. 微信小程序 支付回调不成功排查步骤
  18. java 图片写字_用java在图片上写字
  19. 用计算机制作flash动画教案,Flash动画制作教案
  20. 机器学习中算法与模型的区别

热门文章

  1. jmeter 配置 slave 代理压测机
  2. 简单的网络协议:TCP/UDP HTTP/HTTPS
  3. 定义druid工具类
  4. gstat | 空间插值(一)——反距离权重插值;使用ggplot2绘制地图
  5. 如何高效的学习前端的网页设计?
  6. 9月火气大,能认真写代码么?
  7. json yeid_如何控制Scrapy yield的顺序
  8. c#读取dwg零件表_C# 读取CAD文件缩略图(DWG文件)
  9. python内置哪些装饰器_Python内置的wraps装饰器有什么用
  10. python 高级_Python高级特性(一)