我想在你开始担心它之前,你需要看看它是否值得考虑。我确实考虑过它,并编写了下面的小脚本并运行它以查看基准测试的结果。
对于每个循环,我做了100,000次传球。现在我没有在任何地方打印我的字符串,所以如果PHP优化器因此而完成了我的所有工作,那么我道歉。但是看一下这些结果,你会发现每个结果差异大约为0.00001秒。
在优化除可读性之外的任何内容之前,请使用分析器并查看热点的位置。如果你运行了数千万个连接,那么你可能会有一个参数。但是对于1000,你仍然在谈论0.01秒的差异。我确信只需优化SQL查询等就可以节省0.01秒以上的时间。
我的证据如下......
这是我跑的:
for($l = 0; $l < 5; $l++)
{
echo "Pass " .$l. ": \n";
$starta = microtime(1);
for( $i = 0; $i < 100000; $i++)
{
$a = md5(rand());
$b = md5(rand());
$c = "$a $b".' Hello';
}
$enda = microtime(1);
$startb = microtime(1);
for( $i = 0; $i < 100000; $i++)
{
$a = md5(rand());
$b = md5(rand());
$c = $a . ' ' . $b . ' Hello';
}
$endb = microtime(1);
echo "\tFirst method: " . ($enda - $starta) . "\n";
echo "\tSecond method: " . ($endb - $startb) . "\n";
}结果如下:
Pass 0:
First method: 1.3060460090637
Second method: 1.3552670478821
Pass 1:
First method: 1.2648279666901
Second method: 1.2579910755157
Pass 2:
First method: 1.2534148693085
Second method: 1.2467019557953
Pass 3:
First method: 1.2516458034515
Second method: 1.2479140758514
Pass 4:
First method: 1.2541329860687
Second method: 1.2839770317078