小螞蟻學習PHP性能優化(2)--PHP語言級性能優化

接上篇php

3.    優化點:儘量少的使用魔法函數程序員

        狀況描述:PHP提供的魔法函數,性能不佳
web

        爲何呢?爲了給PHP程序員省事,PHP語言爲此作了不少
正則表達式

        好的方法:儘量規避使用PHP魔法函數,須要使用的時候,權衡一下利弊
後端

4.    優化點:產生額外開銷的錯誤抑制符@函數

        狀況描述:PHP提供的錯誤抑制符只是爲了方便「懶人」
性能

        @符號的實際邏輯:在代碼開始前,結束後,增長了opcode,忽略了報錯。
大數據

        好的建議:建議儘可能不要使用@錯誤抑制符
優化

5.    優化點:合理使用內存.net

        狀況描述: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會將沒有引號的鍵值當作常量來處理,產生查找常量的開銷。

        好的建議:嚴格使用引號鍵值。 

相關文章
相關標籤/搜索