PHP5 寫法效能比較(有數據資料)

關於 PHP 程式該怎麼寫, 才會比較快的文章, 這類已經很多了, 不過這篇是有做實際測試的數值.(差異太小的就不要去管他了)

不過, 通常慢都會慢在 DB 的部份, PHP 的部份, 要慢到讓系統卡住, 是比較難一點(寫成無窮迴圈, 或者排序丟到 PHP 排的, 要自己認命).. 😛

詳見: Practical (and impractical) PHP Optimizations

測試環境: Ubuntu 7.10 server, PHP 5.2.3-1, Apache 2

基本上, 速度差距如果沒有在 50% 以上, 我是覺得都無所謂, 在文章中, 是採用幾個 function 去做測試比較, 然後建議使用(比較快)的會用底線畫出來.

在 10% 以下的, 就不要在意了~ 🙂

直接列結論:

  • PDO > 一般 mysql_query (90% - 沒有加 WHERE 條件)
  • PDO > 一般 mysql_query (48% - 有加 WHERE 條件)
  • PDO > mysql_query (25% - INSERT)
  • Static Method > Non-Static Method (48%)
  • function > @function (32% - @ 是錯誤不顯示出來)
  • Array 加 Quote > 沒加 Quote (74%)
  • unset 再使用變數 > 沒有 unset 直接把變數內容換掉 (28%)
  • str_replace > preg_replace > ereg_replace (50%)
  • split > explode (23%)
  • echo ''; > echo ""; (21%)
  • while > for > foreach (13%)
  • is_numeric > ctype_digit (11%)
  • in_array > iteration (9% - 不曉得指的是什麼, 反正用 in_array() 就是了)
  • echo > print (8%)
  • 變數 defined > 變數 undefined (6%)
  • 數字值 foreach > 文字值 foreach (1%)
  • ' > " (1%)
  • require_once > include_once (1%)

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈PHP5 寫法效能比較(有數據資料)〉中有 8 則留言

  1. 經驗過,in_array() 真的比較好用,而且速度很快~
    PDO 真的很多資料都寫它不錯,而且 ZF 也有用…
    只是比較好奇的是 '' 會比 "" 快,這真的還滿有趣的…

  2. 上面寫的那些, 純參考就好了, 基本上 ' 和 " 的速度上, 應該不會慢到讓你有感覺才對. 注意那種 50% 以上的就好了 🙂

  3. 我想in_array那個的interation代表的是用迴圈去跑,不管是for還是while。
    只要用迴圈跑過一次array再每筆用if判斷是否存在,這樣就會慢過於用in_array

Tsung 發表迴響取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料