dim*_*mas 0 java performance nested-loops
有人问我这个问题,在阅读了一些大的东西后,我仍然无法弄清楚这两个设计中哪一个更快.
如果我在一个方法中有这种嵌套循环
public void someMethod(){
for (a=0;a<10;a++){
for (b=0;b<10;b++){
for (c=0;c<10;c++){
for (d=0;d<10;d++){
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我决定重新设计方法并将2个内部for循环放到另一个类似的方法中
public void someMethod(){
for (a=0;a<10;a++){
for (b=0;b<10;b++){
2loopsMethod();
}
}
}
public void 2loopsMethod(){
for (c=0;c<10;c++){
for (d=0;d<10;d++){
}
}
Run Code Online (Sandbox Code Playgroud)
}
我的问题是重新设计的方法是否会比原始代码更快,因为我将它放在另一个方法中或者它没有任何区别?
它应该没有区别.您仍然有四个级别的嵌套循环,因此将部分工作委派给方法调用将不会更快.
(从技术上讲,方法调用的额外开销会使第二个示例稍微慢一点,但如果你的代码执行任何重要的操作,我会惊讶于你甚至可以测量差异.)