像以下的代码块,尽量不要将大循环放到外层循环。
原因是CPU使用到分支预测技术,以上一个的判断来预测下一个判断。
像一下代码大概会判断错误100次,如果换过来则判断错误100000次。
而CPU设计引入了分支预测技术,主要是减少指令跳转的时候重新获取新指令。
两层循环数差距越大,性能相差越明显。
for(int i = 0; i < 100; i++){
for(int j = 0; j < 100000; j++){
}
}