>  기사  >  백엔드 개발  >  小蚂蚁学习PHP性能优化(2)PHP语言级性能优化

小蚂蚁学习PHP性能优化(2)PHP语言级性能优化

WBOY
WBOY원래의
2016-06-20 12:48:03919검색

接上篇

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会将没有引号的键值当做常量来处理,产生查找常量的开销。

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.