这里会显示出您选择的修订版和当前版本之间的差别。
— |
interview:loop-performance [2011/04/06 14:38] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 单独循环与分开循环 ====== | ||
+ | |||
+ | 有两个相同功能代码如下,请在在A,B,C是什么的情况下,请给出三个原因case 1比case 2快,还有三个原因case 2会比case 1要执行的快。(不考虑编译器优化) | ||
+ | |||
+ | ===== case 1 ===== | ||
+ | <code c> | ||
+ | for (i=0; i<N; ++i){ | ||
+ | A; | ||
+ | B; | ||
+ | C; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== case 2 ===== | ||
+ | <code c> | ||
+ | for (i=0; i<N; ++i){ | ||
+ | A; | ||
+ | } | ||
+ | for (i=0; i<N; ++i){ | ||
+ | B; | ||
+ | } | ||
+ | for (i=0; i<N; ++i){ | ||
+ | C; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== 参考 ===== | ||
+ | * http://programmers.stackexchange.com/questions/64132/interesting-interview-question | ||
+ | * http://coolshell.cn/articles/4162.html | ||