是否完全使用条件语句加载php文件?

时间:2011-10-23 22:52:12

标签: php performance

我想知道文件是否在包含条件语句时完全加载。

假设我有一个包含大约5000行代码的大文件(仅作为示例),但是一半的代码不会被执行,因为它在条件语句中。加载文件还需要相同的时间吗?

我假设没有,所以我还可以假设在多个文件中拆分代码并让自动加载器处理所需文件通常会更快?或者新的文件请求会让整个事情再次减慢?在这种情况下:当文件加载比带有条件语句的文件的执行速度快时,边界在哪里?

3 个答案:

答案 0 :(得分:2)

回答问题的第一部分很简单:是的,文件是完整加载的,以便进行解析。如果一半或全部代码最终没有被执行则无关紧要。

第二部分更棘手。你在谈论性能,但是这个特定领域(试图通过优化包含的数量和大小来提取更多性能)是相当高尚的成果。因此:

  1. 您是否已经耗尽了最后一滴性能,可以做更简单的事情,比如设置资产缓存,操作码缓存等等?在达到这一点之前你应该有。
  2. 无论如何,你无法回答这个问题;一个人需要只有你有权访问的真实性能数据。
  3. 根据经验,我相信你担心的事情只会以微不足道的方式影响你的底线。停止这样做,只需编写好的,可维护的代码。尽可能多地拆分源代码并使用自动加载器是一种很好的方法。

答案 1 :(得分:1)

首先,过早优化:不要这样做。其次,如果你在else语句中有2500行,那么你应该选择一本关于编写干净代码的书。

并回答你的问题:必须读取整个文件才能对其进行解析,这在执行前是必需的。

答案 2 :(得分:0)

为什么甚至想到这个?!安装APC扩展,PHP将编译代码保存在内存中。有一种方法可以配置它,这样它就可以缓存静态代码而无需触摸光盘!当您进行更改时,您必须手动清除缓存。