我在基于Codeigniter的应用程序中启用了分析,我得到了一些令人惊讶的结果。
在进一步的调试中,我意识到即使对于没有DB交互或php处理的onus等静态页面,以下值也非常高 加载时间:基类 控制器执行时间 总执行时间
我尝试使用配置文件,并意识到如果我删除了几个模型和库的自动加载,上述3个变量的值明显下降
我假设一旦它保留在内存中就会自动加载。这是对的吗?
如果我在代码中有70%的时间需要一个模型,那么还要查看结果我应该仍然不自动加载它并仅在需要提高性能时加载。
还有其他选择
答案 0 :(得分:2)
自动加载它不是运行一次并存储在内存中的所有请求。每次发出请求时,根中的index.php就会启动,并且每次都必须从头开始加载所有内容。自动加载的好处是,每次你想要调用它时,你都不必费心自己加载它,因为Codeigniter已经为你做了。它使编码更容易。每当用户提出任何请求或使某些功能全局化时,您应该自动加载模板。例如,我在所有视图中都使用url_helper
,所以我只是自动加载它,所以我不需要自己手动加载它。
自动加载模型不会提高性能。
要手动加载内容,请参阅http://ellislab.com/codeigniter/user-guide/libraries/loader.html