2009年6月24日 星期三

論 "php cpu 使用率不佳" 以及 php extension

pixnet 的大神貼了一篇徵才的 blog, 中間講到, "因為 php cpu 使用率不佳, 所以我們決定換成 python"...

會說這種話, 要不就是不用功, 沒真的找出怎樣壓榨出更多 cpu 效能的辦法, 不然就是手槍打得很兇, 只會假裝自己弄了新東西很炫...

簡單的講, facebook 大不大? yahoo 大不大? 他們都用 php 當前端顯示的 language, 你 pixnet 跟他們比, 算什麼咖?


php 作者 rasmus 自己都研究過, 一般狀況, 一個 request 進來, 到顯示完成,
php 本身只消耗了 10% 的 cpu, 剩下的時間, 幾乎都是等其他東西比較多, 例如資料庫, browser 端的 render 等等.
(http://talks.php.net/show/ntu/9)

就算真的 cpu 使用率不佳, 總能把不佳的部份, 改用 php extension (c or c++) 來改寫, 一個在網站內最常被使用到的 function (not bif),
改用 php extension 方式處理的話, 速度上得提昇, 馬上就可以感覺出來.

python 本身沒有不好, 只是把 "php cpu 使用率不佳" 這種沒有道理, 隨口胡謅的結果, 強加期望在 python 身上, 實在是罪過.

以 yahoo 架構上來講, 重要的核心, 基本上都會有 c or c++ library, 然後會有 php extension 來封裝起來,

一般的 web coder, 只要知道 php extension 版本的語法就好, 後面的速度跟效能, 只要 c or c++ library 升級, 馬上就得到成果.