网页访问速度的提升是可以通過代码的优化来实现的。代码的优化并不是说代码越少越好,而是主要看代码的运行能力和执行效率看其消耗CPU和内存的多少。例如Facebook近來就宣布通过代码优化而将网站性能提高了一倍平均访问时间从5s降至,看看时下流行的CMS和博客用什么语言来开发的就知道了
其实入门佷容易,尤其[文]是对于一个已经接触过程序编[章]写的人来说而对于没有接触[来]过程序语言的菜鸟来说,学习[自]用做一个输出hell[红]o world的网页也佷轻松[色]
然而要编写高效率的代码,并[火]不是所有懂程序的人都可以编[线]写出来的这需要经过多年的[自]研究积累和经验总结。
本文将給大家提炼一些[媒]代码优化的实例利用这些优[体]化,代码的运行能力将[博]会大大提高速度提升5倍以[客]上有些情况下并不是不能出现[文]。
echo和print是PH[章]P程序中经常使用的指令尤[来]其是需要调试的时候。ech[自]o和print都能输出一段[红]信息但经测试发现,ech[色]o运行速度会比print快[火]因此在程序编写是应使用e[线]cho而非print。但是[自]有时候也需要用到print[媒]echo不能完全代替pr[体]int。请看[
2、连接符用逗号而不是句号[自]
此外输出多个字符串时,用[博]逗号代替句点来分隔字符串[客]速度更快。
3、在执行for循环之前确[文]定最大循环数不要每循环一[章]次都计算最大值。
这条准则同样适用於任何语言[来]这个是编程习惯,但这个习[自]惯很不好不管你使用什么语[红]言。
// 在每次循环中sizeof函[色]数都要被调用
// 您可以在循环起始部分對这个[自]不变的量赋值
if else if 的使用非常普遍在其他语言[文]里也一样,这个写法好像更符[章]合人的说话习惯但是在程序[来]里这样写并不太好,它在效率[自]上比switch
5、连接当使用完毕时应关掉
在操作数据库时很多程序员[火]往往忘记关掉数据库连接,或[线]许他们没有这个习惯数据庫[自]连接是需要消耗内存为代价的[媒],连接数越多内存消耗就越多[体]所以在实际应用中都必须及[博]时关闭不需要用到的连接,以[客]释放內存缓解服务器压力。[文]
错误消息一般用于调试它的[章]执行效率其实是很低的,速度[来]上会比直接运行慢很多所以[自],在程序不需偠抓取错误消息[红]时就不要用。
7、局部变量要合理使用
尽量不要在for循环中使用[色]函数比如for ($x=0; $x prop++)要比递增一个[火]局部变量慢3倍。
递增一个未預定义的局部变量[线]要比递增一个预定义的局部变[自]量慢9至10倍
仅定义一个局部变量而没在函[媒]数中调用它,同样会减慢速度[体](其程度相當于递增一个局部[博]变量)大概会检查看[客]是否存在全局变量。
8、用单引号代替双引号来包[文]含字符串
实践证明用单引号代替双引[章]号來包含字符串,这样做会更[来]快一些
因为会在双引号包围的[自]字符串中搜寻变量,单引号则[红]不会当然,只有当你不需要[色]在字符串Φ包含变量时才可以[火]这么做更多分析[请看实例[线]分析单引号和双引号的[自]区别](http://ww[媒][体]/tutorial/[博]//[客])。
mod_zip可作为Apa[章]che模块用来即时压缩你[来]的数据,並可让数据传输量降[自]低80%
除非脚本可以缓存,否则每次[红]调用时都会重新编译一次引[色]入一套缓存机制通常可[火]以提升25%至100%的性[线]能,鉯免除编译开销
尽量做缓存,可使用memc[自]achedmemcach[媒]ed是一款高性能的内存对象[体]缓存系统,可用来加速动态W[博]eb应用程序减轻数据库负[客]载。对運算码 (OP
code)的缓存很有用使[文]得脚本不必为每个请求做重新[章]编译。
毫无疑问html静态页面[自]的访问速度是最快的,现在的[红]CMS都是可以在后囼生成[色]全站HTML静态页面的,这[火]不仅可以提高用户访问网页的[线]速度而对于搜索引擎的收录[自]和排名也是非常有利的。
以上几点是本文提炼出来的优化方法当然,优化绝非仅此一点所谓学无止境,许许多多的优化方法和技巧需要我们在实践中不断总结和运用。