PHP性能优化
关于字符串连接速度
cli模式运行进行测试
$start = explode(' ', microtime()); $startTime = $start[0] + $start[1]; $b = 'cccccddddd'; $times = 99999999; $temp = '';
for ($i = 0; $i < $times; $i++) { // $temp = "aaaaabbbbb$b!eeeefffff$b"; // $temp = "aaaaabbbbb{$b}!eeeefffff{$b}"; $temp = 'aaaaabbbbb' . $b . '!eeeefffff' . $b; } $end = explode(' ', microtime()); $endTime = $end[0] + $end[1]; echo $endTime - $startTime;
code | time /s | |
1 |
"aaaaabbbbb$b!eeeefffff$b" |
6.895348072052 |
2 |
"aaaaabbbbb{$b}!eeeefffff{$b}" |
6.9606149196625 |
3 |
'aaaaabbbbb' . $b . '!eeeefffff' . $b |
9.5447280406952 |
多次测试发现1和2的差别是很少的和3差别还是比较明显的,多用“a{$b}c”的形式比较好
执行
$a = '随机字符串'; $b = "随机字符串";
循环多次时间测试发现也是几乎没区别的;
(可能是每次 '.' 都需要开辟一块新的内存空间,当然我现在还不懂)