Heim >Backend-Entwicklung >PHP-Tutorial >小蚂蚁学习PHP性能优化(2)PHP语言级性能优化

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

WBOY
WBOYOriginal
2016-06-20 12:48:03937Durchsuche

接上篇

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

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn