小螞蟻學習PHP效能最佳化(2)PHP語言級效能最佳化

來源:互聯網
上載者:User
接上篇

3. 最佳化點:儘可能少的使用魔法函數

情況描述:PHP提供的魔法函數,效能不佳

為什麼呢?為了給PHP程式員省事,PHP語言為此做了很多

好的方法:儘可能規避使用PHP魔法函數,需要使用的時候,權衡一下利弊

4. 最佳化點:產生額外開銷的錯誤抑制符@

情況描述:PHP提供的錯誤抑制符只是為了方便“懶人”

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

好的建議:建議盡量不要使用@錯誤抑制符

5. 最佳化點:合理使用記憶體

情況描述:PHP有記憶體回收機制保底,但也請小心使用記憶體。

好的建議:利用unset()即使釋放不使用的記憶體。(注意:unset會出現登出不掉的情況)

6. 最佳化點:盡量少的使用Regex

情況描述:Regex的回溯開銷較大,如果Regex的基礎不好,還是慎用。

好的建議:利用字串處理函數,實現相同的邏輯。

7. 最佳化點:避免在迴圈內做運算

情況描述:迴圈內的計算式將會被重複計算。

程式碼範例:

//錯誤的做法,每次迴圈都要計算一下$str的長度$str    =    'hello world';for($i=0;$i  

8. 最佳化點:減少計算密集型業務

情況描述:PHP不適合密集型運算的情境。PHP特性決定了PHP不適合做大資料量運算。

PHP適用情境,適合銜接webserver與後端服務,UI呈現。

9. 最佳化點:務必使用帶引號的字串作為索引值

情況描述:PHP會將沒有引號的索引值當做常量來處理,產生尋找常量的開銷。

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

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.