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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 Programming。將永久鏈結加入書籤。

PHP5 寫法效能比較(有數據資料) 有 8 則回應

  1. 藏袍逢毅 說道:

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

  2. Tsung 說道:

    唷, '' 會比 "" 快是很正常的.
    您可以試試
    $var = 'abc';
    echo '$var'; 和 echo "$var"; 就會知道為何會比較快囉. 🙂

  3. 藏袍逢毅 說道:

    ha... 那是不是為了加快就要多寫 ''
    -_-" 那兜一個字串不就死掉了~
    any way, 有趣的問題…

  4. Tsung 說道:

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

  5. CFC 說道:

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

  6. Tsung 說道:

    原來是指這個意思, 感謝指點. Orz..

  7. 安納 說道:

    split > explode (23%)
    這有寫錯嗎

發表迴響