PHP小组:Google提供的网站加速PHP技巧真是胡说八道
以下是来自PHP小组的信件译文:
PHP小组:这篇文章中所给的建议全部都是错误的。
1. 没有原因尽量不要复制变量
PHP 4和5核心的Zend引擎使用了一个名为“copy-on-write”的内存管理系统。也就是说,无论你将一个变量的值赋值给另一个变量多少次,只要你不改变数值,数据是不会被复制的。范例:
$data = str_repeat("*", 512 * 1024); // synthesize 512K of data $memory_used_before = memory_get_usage(); $more_data = $data; $memory_used_after = memory_get_usage(); print "Before: {$memory_used_before}\nAfter: {$memory_used_after}\n";
有thread-safety及调试功能的PHP 5.3下:
之前:853968
之后:854236
没有thread-safety及调试功能的PHP 5.2下:
之前:581912
之后:581976
需要注意的是,PHP代码中坚决禁止在没有恰当过滤的情况下将用户提供的变量原本内容进行echo或者存储。
2. 为长字符串使用单引号
针对PHP 5.2及5.3的基准测试显示,虽然双引号使用窜改(interpolation)而单引号使用连锁(concatenation),这两个的速度是完全一致的(甚至双引号常常会更快一些)。当使用没有包含变量的普通字符串时,使用双引号的性能要明显占优。
3. 使用echo而非print
这两个方法的运行速度取决于你的PHP是如何设置在host上的。
4. 不要与echo一起使用concatenation(连锁)
事实正好相反。新的引擎处理多条echo的方法,导致在echo中使用concatenation实际上会比较快。
5. 使用switch/case替代if/else
相关推荐
zyyjay 2020-11-09
xuebingnan 2020-11-05
samtrue 2020-11-22
stefan0 2020-11-22
yifangs 2020-10-13
songshijiazuaa 2020-09-24
hebiwtc 2020-09-18
天步 2020-09-17
83911535 2020-11-13
whatsyourname 2020-11-13
zhouyuqi 2020-11-10
Noneyes 2020-11-10
mathchao 2020-10-28
王志龙 2020-10-28
wwwsurfphpseocom 2020-10-28
diskingchuan 2020-10-23
savorTheFlavor 2020-10-23