我在Java中有一个外部循环和几个嵌套循环的代码。表现不尽如人意。我可以采取哪些策略来改善整体表现?
For(int I = 0; I < 20000000; < i++) // 20 million iterations in outer loop
{
For(…)
For(…)
For(…)
method...
method...
}
答案 0 :(得分:4)
你遗漏了很多细节。然而...
如果4个不同for
循环的内容不必按顺序发生,则可以在单独的线程上运行每个for
循环。
如果运行代码的CPU核心数超过1个,则整体性能将得到改善。
除此之外,了解您是否可以提高性能的最佳方法是查看花费的时间。在分析器中运行您的代码。
答案 1 :(得分:0)
在不知道细节的情况下很难分辨:-)运行for循环不应该花这么长时间。
如果您的操作较小,则应执行微基准测试(请参阅here和here)。
如果你做了一些复杂的东西,你需要进行一些分析(Eclipse,NetBeans自带的分析器,你也可以尝试JProfiler但是quite a lot of alternatives })。
答案 2 :(得分:0)
如果您可以并行化循环,则可以在多个核心上运行它。或者你可以购买更快的CPU。
答案 3 :(得分:0)