0

我的 Java 代码有一个外循环和几个嵌套循环。表现并不令人满意。我可以遵循哪些策略来提高整体性能?

For(int I = 0; I < 20000000; < i++) // 20 million iterations in outer loop
{    
    For(…)

    For(…)

    For(…)

    method...

    method...    
} 
4

4 回答 4

4

你遗漏了很多细节。然而...

如果 4 个不同for循环所做的事情不必按顺序发生,您可以for在单独的线程上运行每个循环。

如果您有超过 1 个 CPU 内核运行代码,整体性能将会提高。

除此之外,了解您是否可以提高性能的最佳方法是查看时间花在了哪里。在分析器中运行您的代码。

于 2012-06-28T18:55:04.467 回答
0

不知道细节很难说 :-) 运行一个 for 循环不应该花这么长时间。

如果你有小操作,你应该做一些微基准测试(见这里这里)。

如果你做一些复杂的东西,你需要做一些分析(Eclipse,NetBeans 带有它自己的分析器,你也可以尝试JProfiler但有很多替代品)。

于 2012-06-28T18:56:17.747 回答
0

如果您可以并行化循环,则可以在多个内核上运行它。或者您可以购买更快的 CPU。

于 2012-06-28T18:56:20.983 回答
0

我在 C# for 循环中使用yield return. 我认为您绝对应该评估使用它。

检查这个指示如何在Java中使用它的 SO 问题。

这是指向 Java 库的直接链接——来自答案——:

  1. 文章
  2. 图书馆
于 2012-06-28T19:02:44.563 回答