include 或许 require 貌似都很慢

php中文网
发布: 2016-06-13 11:10:59
原创
1869人浏览过

include 或者 require 貌似都很慢
我一个页面执行时间10ms
include 12个文件占了 5ms
换成require依旧
是否可破?


------解决方案--------------------
放到一个文件里
------解决方案--------------------
放到一个文件里去试试。
------解决方案--------------------
看看apache的日誌以及php的日誌,看看有沒有給你提供點有用的信息
------解决方案--------------------
客观地说,
你10个文件就0.5ms,那zf/yii等框架,加载几百个,那岂不是1s的样子了?
所以我建议你先找找你被include的文件里,是不是有执行某个动作。一个一个文件的去查
而不是去挑php自带函数的问题。
------解决方案--------------------
看一下服务器磁盘是不是有问题了。测一下读写速度之类的。
------解决方案--------------------
引用:
引用:客观地说,你10个文件就0.5ms,那zf/yii等框架,加载几百个,那岂不是1s的样子了?所以我建议你先找找你被include的文件里,是不是有执行某个动作。一个一个文件的去查而不是去挑php自带函数的问题。麻烦认真看贴再吐槽上面说了(8楼),我把所有被包含的文件合成一个,并获取自身执行时间,约为0.05……

那你都确定所包含的文件都没有执行任何东西,只是纯包含文件都需要这么多时间,那只能说是php 的include效率低下了。
方法有很多,你可以一个文件一个的去掉包含,有些东西不是计算每个文件时间来确定的。
当然也要把错误全部打开。
------解决方案--------------------
你测试的是对的,加载文件是要花时间的!
不仅要从文件系统中找到文件并加载的内存,而且还要调用语法分析模块来判定代码的合法性
所以#2我让你合并到一个文件中去

当然你必须注意到
$time_start=microtime(true);
是在程序开始运行时才有效的
而 php 实际开始工作(加载php程序)的时间还要早一些

$_SERVER['REQUEST_TIME'] 请求开始时的时间戳
php 5.4 还提供了更精确的
$_SERVER['REQUEST_TIME_FLOAT']
------解决方案--------------------
包含总是慢的,不论什么语言
即使是html+css两个文件和一个html内写css,在本地测试都有区别,只不过网络传送耗时把加载耗时盖掉了

编译语言在编译时处理掉了加载的问题
但解析语言加载就不能无视这个问题,不要把编译语言那套腾挪过来
不然写一个超大文件,里面成百上千个类,一次include就够了,呵呵 

我平时写的习惯是拆分类,按需加载
早期的时候我甚至用php来写css,输出尽可能少,看着一个上百k的css文件我就累
但现在网络速度提高了,甚至几百k的整站css发送都不成问题了
------解决方案--------------------
昨天我做了一个测试,同样的代码windows下执行800毫秒,而linux下执行只需要120毫秒
------解决方案--------------------
是快很多,不是一些
相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号