日期:2014-05-17  浏览次数:20709 次

弱弱问一个效率的问题?
我刚刚学习php,发现php和java最大的不同是解释语言与编译语言的不同。当然解释型的动态性更好,不过也反映一个效率的问题。

很多开源框架都是单一路口MVC模式。 我大概看了下:
index.php/model/value//para/value/para/value.....  
截取参数 : /model/value/para/value 已经模块参数动态引入相应的Action PHP文件:
假如我有1万个模块,index.php 每次include的东西都不同。 
我想问下:index.php每次include的东西不同,会不会生成1万个编译好的文件,比如:
index_usermodel.class (编译后的文件,不是php文件)。

有高手能够解释下,PHP是如何编译的吗? 我们知道JAVA的Import是不存在效率问题,不知道PHP的Include是如何解决这个问题的?

------解决方案--------------------
底层不了解!

据说不会,php没有常驻内存的东西。 每次都要重新加载。所以,尽量少加载是一个原则。 所以php程序要尽量“扁”。路由和inlucde都要短。

据说apc之类的缓存只是解决了文件io的问题,但并不解决内存分配等问题。 如果没有apc,inlcude要尽量少。

以前在javaeye讨论过个问题。
------解决方案--------------------
探讨

还有一个简单的问题:
每次访问一个模块,编译一次,还是第一次访问编译一次。

------解决方案--------------------
opcode本身也可以缓存。
另外,使用什么语言从来都不是网站的瓶颈。