1

将 x-1 计算为变量然后使用它会更好吗?

我有一个 for 循环和内部(x-1)。创建新变量 y=x-1,然后在循环中使用 y,而不是在 for 循环中重新计算多次是否更好?我会省很多减法。不确定这是否是一些优化?

4

3 回答 3

5

不要低估或高估编译器的能力。

先介绍一下。

查看函数优化版本的汇编语言列表。
编译器可能能够将 X-1 与另一条指令结合起来。

等到代码完全工作并且健壮后再进行优化。通常情况下,代码在优化后更难调试,您可能会浪费时间优化不经常使用的代码。

于 2012-07-14T00:14:16.990 回答
3

如果x在循环内没有改变,那么编译器很可能会优化它并只计算一次,所以它应该没关系。(当然,如果x在循环内确实发生了变化,那么不用说你应该在循环内重新计算它)。

除了优化方面,编写代码可能更重要,因此它对其他程序员(例如,维护代码的人)最有意义。如果x-1在循环内使用会使代码更清晰,那么几乎可以肯定的是,这样写会更好。除非循环对整体性能非常关键,否则(在我看来)最好专注于使代码更易于阅读。

于 2012-07-14T00:12:35.193 回答
-1

是的,这将有助于加快您的代码。任何减少您需要执行的计算次数的事情都会提高代码的速度,尤其是当您的循环经过大量迭代时。

如果您可以只做一次,则无需一遍又一遍地做某事:)

不过,这是假设x在您的循环期间不会改变。如果x确实发生了变化,那么您需要重新计算它,因为y每次循环都会有所不同。

于 2012-07-14T00:13:10.587 回答