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

继续完善“X计划”的核心部分,核心嘛,就要加载必须的文件,尝试了两种方法,发现效率是不同的,分享一下吧~
先来说说两种方式:

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

结果令我吃惊啊!竟然第一种貌似最慢的方法,耗时最少,而直接在当前页面加载多个文件耗时也不少啊~

时间: 2025-01-01 06:05:42

php两种include加载文件方式效率比较的相关文章

php include加载文件两种方式效率比较_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

两种INCLUDE方式的不同. (为什么出错,你自己看吧.)

include 问:为什么用<jsp:include page="aa.txt"/>不可以显示?却用<%@ include file="aa.txt" %>却可以? 答:这两种INCLUDE是按不同的方式一为包含的. 前者是将AA.TXT通过服务器处理后,将HTML包含进来. 后者是先将文件包含进来,再处理.所以,如果用前者,就必须保证文件中的JSP语句是正确的.所有的变量定义都是独立的.如果是后者,则可以在AA.TXT中使用外部在INCLU

两种JavaScript的AES加密方式(可与Java相互加解密)_javascript技巧

由于JavaScript属于弱类型脚本语言,因此当其与强类型的后台语言进行数据交互时会产生各种问题,特别是加解密的操作.本人由于工作中遇到用js与Java进行相互加解密的问题,在网上查了很多资料及代码段,均无法解决.后总结多篇文档内容终于找到解决办法,现记录与此: 下面给大家介绍两种JavaScript的AES加密方式,具体详情如下所示: 第一种:加解密时需要秘钥(key)和秘钥偏移量(iv)的情况,在线验证地址:http://www.seacha.com/tools/aes.html //该方

试图运行一个项目时出错:未能加载文件或者程序集&amp;amp;quot;XXX&amp;amp;quot;或它的某一个加载项

问题描述 我在vs2008上和2010上均遇到了这个问题.原本编译正常,运行正常的程序,有一天不知道为何突然build出错了.错误是:"试图运行一个项目时出错:未能加载文件或者程序集或它的某一个加载项.该模块应该包含一个程序清单."试着直接运行bin目录下的exe文件,则会报错:"应用程序正常初始化(0xc000007b)失败."在网上搜索了一下,一般的解决方案有两种:1.项目属性->调试->勾掉使用visualstudio宿主进程.2.项目属性->

未能加载文件或程序集“AspNetPager”或它的某一个依赖项。拒绝访问_实用技巧

未能加载文件或程序集"AspNetPager"或它的某一个依赖项.系统找不到指定的路径. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IO.FileNotFoundException: 未能加载文件或程序集"AspNetPager"或它的某一个依赖项.系统找不到指定的路径. 源错误: 执行当前 Web 请求期间生成了未经处理的异常.可以使用下面的异常堆

winform程序在win7旗舰版提示未能加载文件或程序集“Microsoft.mshtml“

问题描述 本人在做一个发mail的工具,网上找了一个winform的文本编辑器名叫"TextControl",这工具里引用了MShtml,他的本质其实是MicrosoftHTMLObjectLibrary.如图现在问题是我在本地以及其他一些win7专业版机器上都能正常运行,而在旗舰版机器上就会提示:未能加载文件或程序集"Microsoft.mshtml,Version=7.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d5

“未能加载文件或程序集”解决方法(URLRewriter.dll)

一般情况下出现这样的问题是因为.dll文件不存在或者路径不正确.但今天我遇到的情况都不在这两个内.我确定.dll文件是存在的,路径也是正确的.但是程序死活都是"未能加载文件或程序集"的错误.无奈之下只好求助网络,很快在"CSDN"里找到了下面的帖子: 关于"未能加载文件或程序集"的解决方法 - dreamman - dreamman我把服务器上的一个asp.net程序下载到本地机XP系统上安装,设置了虚拟目录后用浏览器打开,一切正常.但我重启电脑

resx文件在X64位编译,提示“未能加载文件或程序集”的问题?

原文:resx文件在X64位编译,提示"未能加载文件或程序集"的问题? resx文件在X64位编译,提示"未能加载文件或程序集"的问题? 解答: 错误现象如下 此问题最多在VS2010或者(SP1)上出现过,属于VS2010的缺陷,估计在VS更高的版本不会出现此问题. 通常提示: <dataname="imageCollection1.ImageStream" type="xxxxxx"mimetype="ap

未能加载文件或程序集“WebKit.Interop, Version=536.0.0.0, Culture=neutral, PublicKeyToken=22

问题描述 未能加载文件或程序集"WebKit.Interop,Version=536.0.0.0,Culture=neutral,PublicKeyToken=22198f6602307c03"或它的某一个依赖项.系统找不到指定的文件.使用的是OpenWebKitSharp组件. 解决方案 本帖最后由 ldccn 于 2015-06-11 09:18:51 编辑解决方案二:webkit...换个编译方式试试..解决方案三:没有用X86X64anycpu都试过了