作者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