作者clifflu (缺錢啦 @@)
看板PHP
標題Re: [閒聊] smarty的好壞
時間Sat Oct 1 19:17:26 2005
※ 引述《clifflu (缺錢啦 @@)》之銘言:
: → lixc:弄成daemon 直接替代掉httpd 當作一個Server來跑才是高效能 10/01 18:11
: 推 clifflu:我的 compile 就是這個意思 變成 data feeder XD 10/01 18:53
: 推 lixc:XDDD 我誤會了~~ 10/01 18:59
再回來提這個題目好了 (上面幾行可能會過長折行, 不好意思)
有些時候, 當你會在 web page 裡面呈現大量的資料, 處理大量的資料,
或是做一狗票的運算.
這時候你就會開始擔憂, 像是 "Script Engine 吃不吃得動這麼多 data"
(相關設定: php: execution_time, max_mem 等等, 自己翻 php.ini)
(apache: httpd.conf 也有 max exec time.)
(system: 你可能會把吃很多 mem / cpu time 的程式自動 kill 掉)
或是 "template engine 可能會多吃一份餐點, 我餵不餵得飽它"
ok, 天底下總有些怪胎會去搞這些問題, 然後養出一吃大怪獸來吃一堆資源,
去探討怎麼餵飽它們, 怎麼可以養更多的怪獸, 或者怎麼生資源出來給他們吃.
沒有人說 php 不能拿來算資料分析, 沒有人說 php 不該拿來當 matlab 一樣搞矩陣,
沒有人說 php 不應該拿 gd 來當畫圖大王道,
更沒有人說不能把 php 接 pdf / cpdf 然後從 manual 轉成 pdf on demand.
這些東西在給定足夠的 CPU time, Ram, HDD space, 以及夠快的 i/o 後, 都能做到.
但是 coder 應該注意的東西在哪邊 ? 應該盡的本份在哪裡 ?
明明有接近 10 萬筆的資料, 為什麼要從 php -> smarty 再傳給使用者 ?
如果只是要把它們 dump 出來, 利用後端 (db / raw output 等等) 直接
passthru 會不會更好 ?
透過簡單的 pipe 將 data 壓縮或處理過再傳送, 會不會好一些 ?
是不是真的有必要把這些 data 一口氣送出來 ? 分頁結果如何呢 ?
真的要傳的話, 透過 php 後端連接 database, 再 parse 成 xml,
或是使用其它技術, 如 .Net 的 DataSet 讓它自己逐漸傳送顯示,
或是改成 data insert 時, 同步更動一個外部靜態 xml, 並定期手動 sync ?
對於不同的問題, 在不同的環境限制下, 總是可以有不同解法的.
這些就要靠各位的腦袋了 XD
只拉拉介面, 然後對 compiler 大喊 "OPTIMIZE !!!" 對 php 是不太有用的;p
至少跟使用良好設計的程式相比, 相差十分有限.
--
鬼壓床怎麼辦
騎上去啊
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.134
1F:推 lixc:隨時注重資料結構以及良好演算法是身為一個程式設計師要具備! 10/01 19:22
2F:→ lixc:如果凡事都要用良好的硬體來解決~那錢永遠是不夠的... 10/01 19:24
3F:推 clifflu:大同意 XD 然後寫 code 首重 architecture / design 10/01 20:00