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 相关文章推荐
简化php模板页面中分页代码的解析
Feb 06 PHP
php 获取select下拉列表框的值
May 08 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
php统计数组元素个数的方法
Jul 02 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
PHP微信H5支付开发实例
Jul 25 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
php 中phar包的使用教程详解
Oct 26 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 PHP
PHP实现字符串的全排列详解
Apr 24 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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
php图片加中文水印实现代码分享
2012/10/31 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
详解vue高级特性
2020/06/09 Javascript
python操作日期和时间的方法
2014/03/11 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
运动会领导邀请函
2014/02/05 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
党员反邪教心得体会
2016/01/15 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书