将 x-1 计算为变量然后使用它会更好吗?
我有一个 for 循环和内部(x-1)。创建新变量 y=x-1,然后在循环中使用 y,而不是在 for 循环中重新计算多次是否更好?我会省很多减法。不确定这是否是一些优化?
将 x-1 计算为变量然后使用它会更好吗?
我有一个 for 循环和内部(x-1)。创建新变量 y=x-1,然后在循环中使用 y,而不是在 for 循环中重新计算多次是否更好?我会省很多减法。不确定这是否是一些优化?
不要低估或高估编译器的能力。
先介绍一下。
查看函数优化版本的汇编语言列表。
编译器可能能够将 X-1 与另一条指令结合起来。
等到代码完全工作并且健壮后再进行优化。通常情况下,代码在优化后更难调试,您可能会浪费时间优化不经常使用的代码。
如果x
在循环内没有改变,那么编译器很可能会优化它并只计算一次,所以它应该没关系。(当然,如果x
在循环内确实发生了变化,那么不用说你应该在循环内重新计算它)。
除了优化方面,编写代码可能更重要,因此它对其他程序员(例如,维护代码的人)最有意义。如果x-1
在循环内使用会使代码更清晰,那么几乎可以肯定的是,这样写会更好。除非循环对整体性能非常关键,否则(在我看来)最好专注于使代码更易于阅读。
是的,这将有助于加快您的代码。任何减少您需要执行的计算次数的事情都会提高代码的速度,尤其是当您的循环经过大量迭代时。
如果您可以只做一次,则无需一遍又一遍地做某事:)
不过,这是假设x
在您的循环期间不会改变。如果x
确实发生了变化,那么您需要重新计算它,因为y
每次循环都会有所不同。