对不起的头衔感到抱歉。
采取以下案例:
案例1:
a = true;
if (b)
{
a = false
}
案例2:
if (b)
{
a = false
}
else
{
a = true
}
这些情况有没有性能差异?
答案 0 :(得分:3)
您应该尝试指定语言/编译器/运行时。
简而言之,不:在大多数情况下,优化编译器将消除差异。
答案 1 :(得分:1)
哪一个更快更重要,因为这些微观优化根本不影响运行时间(除了某些情况),并且因为“过早优化是所有邪恶的根源”。你应该全力以赴地优化算法而不是这些锐度 正如@jalf所说,一个好的编译器会将它们编译成完全相同的代码但是如果你在一个古老的CPU上运行你的代码,那么最好的是第一个,因为它比另一个更少品牌。
答案 2 :(得分:0)
它通常取决于您使用的编译器以及传递给它的参数。绝对可以通过数据流分析(即live variable analysis)来优化这些条件,这是大多数现代编译器都能够执行的。