WebjxCom提醒:Google小组上周同享了其网站加快的技巧年夜全,此中包罗了一些PHP机能技巧。但是那些PHP机能技巧正在PHP社区中引收了一阵轩然年夜波,PHP小组马上写了一篇公然信给那些机能技巧“抓虫”。
PHP4和5焦点的Zend引擎利用了一个名为“copy-on-write”的内存办理系统。也就是说,不管你将一个变量的值赋值给另中一个变量几多次,只要你不改动数值,数据是不会被复造的。典范:
以后:581976
1.出有缘由尽可能不要复造变量
也就是,调试形式下有268字节的不同,正常形式下(遍及利用的)有64字节的不同。那和Google文中所述(51CTO编者注:Google本文的描写中,复造变量会“致使双倍的内存消费”)相差甚近。
需要注重的是,PHP代码中果断造止正在出有得当过滤的环境下将用户供给的变量本来内容停止echo或存储。
事真上,正在更古老的PHP版本下(PHP3及很老的PHP4版本)那些年夜部门建议是准确的,但是正在新一代的PHP下,那些尽对是毛病纯属忽悠:Google提供的网站加速PHP技巧的。
4.不要与echo一同利用concatenation(连锁)
之前:853968
那两个圆式的运转速度取决于你的PHP是若何设置正在host上的。
以后:854236
3.利用echo而非print
针对PHP5.2及5.3的基准测试隐现,固然双引号利用篡改(interpolation)而单引号利用连锁(concatenation),那两个的速度是完整分歧的(乃至双引号经常会更快一些)。当利用出有包罗变量的通俗字符串时,利用双引号的机能要明隐占优。
2.为长字符串利用单引号
之前:581912
有thread-safety及调试功效的PHP5.3下:
出有thread-safety及调试功效的PHP5.2下:
事真恰好相反。新的引擎处置多条echo的圆式,致使正在echo中利用concatenation现真上会比力快。
Google小组上周同享了其网站加快的技巧年夜全,此中包罗了一些PHP机能技巧。但是那些PHP机能技巧正在PHP社区中引收了一阵轩然年夜波,PHP小组马上写了一篇公然信给那些机能技巧“抓虫”。有闭Google的建议,51CTO那几日做了清算,做出文章《加快,加快,再加快:来自Google的网站加快技巧年夜全》。此中第四页的后半部门就是专门讲PHP相干的机能技巧,正在浏览本文之前可以先熟习一下。以下是来自PHP小组的信件译文:
最后,那句建议是完全的治说八道。决议正在哪里利用switch/case或if/else完整取决于编码习惯,他们的运转速度根本分歧,除正在某些特定的环境下。
PHP小组:那篇文章中所给的建议全数都是毛病的。
5.利用switch/case替换if/else
评论 {{userinfo.comments}}
{{child.content}}
{{question.question}}
提交