您的位置: 德宏信息网 > 游戏

资深站长PHP程序加速探索之代码优化a

发布时间:2019-10-13 03:30:05

08:36 来源:互联 :水色皇朝【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 最新LOL活动

掌握了PEAR::BenchMark,现在你已经知道如何测试你的代码

,知道如何判断你的代码是快是慢,是那一部份比较慢。那么接下来我要说的就是如何消灭或优化那部份慢的代码

。这一点上我个人最主要的经验只有两点

,一是消除错误的或低效的循环;二是优化数据库查询语句

。其实还存在一些其它的优化细节,比如“str_replace比ereg_replace快”、“echo比print快”等等。这些我暂时都放在一边,稍后我会提到用缓存来对付过于频繁的IO。下面我们将三个功能相同,但程序写法不同的函数的效率(消耗的时间)进行对比。p<?phprequire_once('Benchmark/p');define('MAX_RUN'100);$data=array(12345);doBenchmark('v1'$data);doBenchmark('v2'$data);doBenchmark('v3'$data);functiondoBenchmark($functionName=null$arr=null){ reset($arr); $benchmark=newBenchmark_Iterate; $benchmark->run(MAX_RUN$functionName$arr); $result=$benchmark->get(); echo'<br>'; printf(%sran%dtimeswhereaverage400msv2ran100timeswhereaverageexectime0.15500msv3ran100timeswhereaverageexectime0.09100ms可以看到,函数的执行时间变少,效率上升

。函数v1有个很明显的错误,每一次循环的时间,都需要调用sizeof()函数来计算。函数v2则在循环外把$myArray数组的元素个数存到$max变量中,避免了每次循环都要计算数组的元素个数,所以效率提高了。函数v3的效率最高,利用了现成的函数,避免循环。这个例子只是给你一个感性的认识,明白什么是相对高效的代码。在实际开发中,我相信会有很多人会迷迷糊糊地写出很多低效率的代码。要把代码写得精炼而高效,恐怕需要时间去锤炼:-)但这是另一个话题了

,我们略过不谈。数据库应用基本上每个PHP程序都会用到,在实际开发中我发现最影响整个系统效率的就是数据库这部份。至于数据库的优化和数据查询语句的优化,在此限于篇幅不详细讨论。读者可参考《MySQL查询优化技术讲座》 查看更多相似文章

小程序商城怎么做
怎样注册微信小程序
有赞微商城入驻费
猜你会喜欢的
猜你会喜欢的