Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我从一些博客中看到了这个问题。给出了以下两个循环,问题是哪一个更快。
for(int i = 100000; i > 0; i--) {} for(int i = 1; i < 100001; i++) {}
为什么第一个比第二个快?
在某些编译器生成的代码中的某些处理器上,第一个可能更快,因为该值与零进行比较。正如@DeadMG 所指出的,它适用于例如 1985 年之前的 x86 处理器。
但它是:
我们应该忘记小的效率,比如大约 97% 的时间:过早优化是万恶之源。
你被警告了。