php include加载文件两种方式效率比较


Posted in PHP onAugust 08, 2010

先来说说两种方式:
1)定义一个字符串变量,里面保存要加载的文件列表。然后foreach加载。

$a = '/a.class.php;/Util/b.class.php;/Util/c.class.php'; 
$b = '/d.php;/e.class.php;/f.class.php;/g.class.php'; 
// 加载基本系统文件 
$kernel_require_files = explode(';', $a);//SYS_REQUIRE_LIB_FILE_LIST); 
foreach($kernel_require_files as $f){ 
require_once(SYS_LIB_PATH.'/System'.$f); 
} // 加载基本系统文件 
$kernel_require_files = explode(';', $b);//SYS_BASE_FILE_LIST); 
foreach($kernel_require_files as $f){ 
require_once(KERNEL_PATH.$f); 
}

2)把所有的要加载的文件都在一个include文件里面加载,当前页直接include这个include文件。
include.php文件内容
require_once('func.php'); 
require_once('LangManager.class.php'); 
require_once('_KernelAutoLoader.class.php'); 
require_once('ApplicationSettingManager.class.php'); require_once('lib/System/Activator.class.php'); 
require_once('lib/System/Util/CXML.class.php'); 
require_once('lib/System/Util/CWeb.class.php');

我个人认为第二种方法效率高些,因为没有foreach这些多余的运算~凡事要论证,不能凭空想象,所以,我验证了一下。以下是用两种方法随机10次加载所消耗的时间:
foreach
0.017754077911377
0.017686128616333
0.017347097396851
0.018272161483765
0.018272161483765
0.018401145935059
0.018187046051025
0.020787000656128
0.018001079559326
0.017963171005249

include_once('include.php');
0.025792121887207
0.024733066558838
0.025041103363037
0.024915933609009
0.024657011032104
0.024134159088135
0.025845050811768
0.024954080581665
0.024757146835327
0.02684497833252

另外,又尝试了一下,直接在当前页面加载所有文件
0.022285938262939
0.024394035339355
0.023194074630737
0.023229122161865
0.024644136428833
0.023538112640381
0.024240016937256
0.025094032287598
0.023231029510498
0.02339506149292
结果令我吃惊啊!竟然第一种貌似最慢的方法,耗时最少,而直接在当前页面加载多个文件耗时也不少啊~
原因?未知啊,希望明眼的给个答案,先不管那么多"X计划"的核心加载部分就用第一种方法啦~

PHP 相关文章推荐
15个小时----从修改程序到自己些程序
Oct 09 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
PHP实现下载功能的代码
Sep 29 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
php动态添加url查询参数的方法
Apr 14 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
PHP设计模式之单例模式原理与实现方法分析
Apr 25 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
PHP开发API接口签名生成及验证操作示例
May 27 PHP
PHP实现rar解压读取扩展包小结
Jun 03 PHP
将一维或多维的数组连接成一个字符串的php代码
Aug 08 #PHP
php简单提示框alert封装函数
Aug 08 #PHP
php递归实现无限分类生成下拉列表的函数
Aug 08 #PHP
php用数组返回无限分类的列表数据的代码
Aug 08 #PHP
php自定义函数之递归删除文件及目录
Aug 08 #PHP
php自动获取目录下的模板的代码
Aug 08 #PHP
php下删除一篇文章生成的多个静态页面
Aug 08 #PHP
You might like
第十节--抽象方法和抽象类
2006/11/16 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
实用函数3
2007/11/08 PHP
php header示例代码(推荐)
2010/09/08 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
浅析JSONP技术原理及实现
2016/06/08 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
d3.js 地铁轨道交通项目实战
2019/11/27 Javascript
jquery实现上传文件进度条
2020/03/26 jQuery
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
python黑魔法之编码转换
2016/01/25 Python
Python tkinter事件高级用法实例
2018/01/31 Python
分分钟入门python语言
2018/03/20 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
中国电视购物:快乐购
2017/02/04 全球购物
电信专业毕业生推荐信
2013/11/18 职场文书
金融专业毕业生推荐信
2013/11/26 职场文书
个人课题方案
2014/05/08 职场文书
表彰大会策划方案
2014/05/13 职场文书
卫生标语大全
2014/06/21 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
白鹤梁导游词
2015/02/06 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书