扁平化条件句对性能有好处吗?
本文关键字:性能 条件 扁平化 | 更新日期: 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();
}
扁平化条件对性能有好处吗?
也许吧,但这几乎肯定是无关紧要的。相反,您最终得到的是更难以理解和维护的代码,以换取几乎肯定无关的性能差异。
如果你真的想知道,用两种方式编写代码并正确地分析它。但是,同样,性能差异不太可能是有意义的,您最终会得到更难以阅读的代码。为什么?
图书出版商可以使图书变得更轻,这样更容易携带,对环境的负担也更小,方法是采用没有页边距的一点字体出版。为什么不呢?
代码不仅仅是为编译器准备的。它也适用于人类,人类必须能够阅读并维护它。
使用好的编译器。结果是一样的。所以你想知道编译器是好是坏。最好的方法是查看编译后的代码,并在产生两种不同的结果时启动性能分析。