我们的计算机科学老师曾经说过,由于某些原因,倒计时比计数更有效率.例如,如果你需要使用FOR循环并且某个地方没有使用循环索引(比如在屏幕上打印一行N*),我的意思是这样的代码:
for (i = N; i >= 0; i--)
putchar('*');
Run Code Online (Sandbox Code Playgroud)
比以下更好:
for (i = 0; i < N; i++)
putchar('*');
Run Code Online (Sandbox Code Playgroud)
这是真的吗?如果是这样,有谁知道为什么?
我已经阅读了各种优化指南,声称ADD 1比在x86中使用INC更快.这是真的吗?
在 JDK 中查看集合代码时,无论在哪里使用循环,都以相反的方式完成,如下所示:
for (int i = size-1; i >= 0; i--) {...}
Run Code Online (Sandbox Code Playgroud)
是否有任何与性能相关的东西,或者只是 JDK 像这样采用了它?