根据优化,写入循环是否会提高速度?
我尝试将循环写为goto,但我想知道有任何run_time加速吗?
前:
for ( .. ) {
}
as
A:
if ( ... )
goto A
答案 0 :(得分:7)
没有。
在机器级别,只有goto语句(好吧,跳转,真的),编译器在优化循环时通常比任何人做得好得多(例如通过循环展开等技术),因为它对底层架构有更好的了解。
这并不是说goto没用 - 在某些情况下它非常有用。只是不是为了实现循环。但是,如果要在循环语句中输入,则可以使用它。
答案 1 :(得分:4)
几乎可以肯定没有。编程优化器现在非常好用。
答案 2 :(得分:4)
如果你正在使用gcc或其他现代编译器,那么<strong>更可能会更糟糕,因为大多数现代编译器使用loop unrolling [以及其他优化]优化你的循环。
答案 3 :(得分:1)
尝试手动优化代码是一个坏主意:现代编译器能够优化您的代码,并且比您做得更好。但是不要忘记在编译时打开优化...
另外,使用goto语句而不是循环将使代码不可读:循环的意图丢失,因此代码更难掌握。这需要稍后进行维护噩梦。