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

yipeiwu_com6年前PHP代码库
先来说说两种方式:
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计划"的核心加载部分就用第一种方法啦~

相关文章

微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解

微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解

本文实例讲述了ThinkPHP框架下微信支付功能。分享给大家供大家参考,具体如下: 声明:原文主要摘自白俊遥博客 ,部分内容针对个人事例已作修改,主要用于自己的参考,欢迎指正...

linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程

本文实例讲述了linux平台编译安装PHP7并安装Redis扩展与Swoole扩展的方法。分享给大家供大家参考,具体如下: 前面《PHP7安装Redis扩展教程【Linux与Window...

PHP中addcslashes与stripcslashes函数用法分析

本文实例分析了PHP中addcslashes与stripcslashes函数用法。分享给大家供大家参考,具体如下: 在写一个网站的英文版时,写完后填加英文资料,我随便填写时一点问题没有,...

PHP控制网页过期时间的代码

当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since ....

Windows 下安装 swoole 图文教程(php)

Windows 下安装 swoole 图文教程(php)

Windows 下安装 swoole 具体步骤: Swoole,原本不支持在Windows下安装的,所以我们要安装Cygwin来使用。在安装Cygwin下遇到了很多坑,百度经验上的文档不...