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 INI配置文件的解析实现分析
Jan 04 PHP
php GeoIP的使用教程
Mar 09 PHP
php Ubb代码编辑器函数代码
Jul 05 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
php遍历树的常用方法汇总
Jun 18 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 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通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
Smarty变量用法详解
2016/05/11 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
laravel框架实现去掉URL中index.php的方法
2019/10/12 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
简单介绍Python中的JSON模块
2015/04/08 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
在centos7中分布式部署pyspider
2017/05/03 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
班级安全教育实施方案
2014/02/23 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL