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