扁平化条件句对性能有好处吗?

本文关键字:性能 条件 扁平化 | 更新日期: 2023-09-27 18:13:29

例如,假设如下代码:

foreach(Car car in Cars)
{
    if(car.Damaged)
       LogWarning();
    else
       LogInfo();
}

这样做更好吗?

foreach(Car car in Cars)
{
    if(car.Damaged)
    {
       LogWarning();
       continue;
    }
       LogInfo();
}

扁平化条件句对性能有好处吗?

扁平化条件对性能有好处吗?

也许吧,但这几乎肯定是无关紧要的。相反,您最终得到的是更难以理解和维护的代码,以换取几乎肯定无关的性能差异。

如果你真的想知道,用两种方式编写代码并正确地分析它。但是,同样,性能差异不太可能是有意义的,您最终会得到更难以阅读的代码。为什么?

图书出版商可以使图书变得更轻,这样更容易携带,对环境的负担也更小,方法是采用没有页边距的一点字体出版。为什么不呢?

代码不仅仅是为编译器准备的。它也适用于人类,人类必须能够阅读并维护它。

使用好的编译器。结果是一样的。所以你想知道编译器是好是坏。最好的方法是查看编译后的代码,并在产生两种不同的结果时启动性能分析。