我使用以下代码:
<?php
$start_time = microtime(true);
for($i=1;$i <= 999999; $i++){
}
$end_time = microtime(true);
echo "Time Interval : ".$end_time-$start_time;
$start_time = microtime(true);
for($j=1;$j < 1000000; $j++){
}
$end_time = microtime(true);
echo "Time Interval : ".$end_time-$start_time;
?>
它显示它们之间的时间差为0.0943秒。因此以这种方式&lt; =运算符比'&lt;'快。我只想知道使用&lt; = operator over'&lt;'?
是否有任何不利之处答案 0 :(得分:4)
肯定没有性能损失。两个操作数都是PHP字节码中的单个操作码,最终都应该使用一个CPU指令执行。
http://www.php.net/manual/en/internals2.opcodes.is-smaller.php
http://www.php.net/manual/en/internals2.opcodes.is-smaller-or-equal.php
当然我同意评论 - 你绝不应该在代码的这个低级别优化事物。
答案 1 :(得分:0)
http://en.wikipedia.org/wiki/Program_optimization
“过早优化”是用于描述情况的短语 程序员让性能考虑因素影响设计 一段代码。这可能导致设计不那么干净 因为它可能是或代码不正确,因为代码是 由于优化而复杂化,程序员分心了 优化
通常我会坚持使用有意义的代码而不是更有意义的更快的代码。那个守卫可能是来自其他地方定义的变量的值,所以你应该保持它的含义。您不应将所有<
更改为<=
以节省一小部分时间(可能是随机错误)。