gpt4 book ai didi

将嵌套循环重新设计为方法的 Java 性能

转载 作者:行者123 更新时间:2023-12-01 06:46:23 24 4
gpt4 key购买 nike

有人问我这个问题,在阅读了一些大的 O 内容后,我仍然无法弄清楚这两种设计中哪一个更快。

如果我在一个方法中有这种嵌套循环

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++){
}
}
}
}
}

我决定重新设计该方法,并将 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++){
}
}

}

我的问题是,重新设计的方法会比原始代码快很多吗,因为我将其放置在另一个方法中,还是没有区别?

最佳答案

应该没有什么区别。您仍然有四层嵌套循环,因此将部分工作委托(delegate)给方法调用不会更快。

(从技术上讲,方法调用的额外开销将使第二个示例稍微变慢,但如果您的代码做了任何重要的事情,如果您甚至可以测量差异,我会感到惊讶。 )

关于将嵌套循环重新设计为方法的 Java 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com