Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的 Java 代码有一个外循环和几个嵌套循环。表现并不令人满意。我可以遵循哪些策略来提高整体性能?
For(int I = 0; I < 20000000; < i++) // 20 million iterations in outer loop { For(…) For(…) For(…) method... method... }
你遗漏了很多细节。然而...
如果 4 个不同for循环所做的事情不必按顺序发生,您可以for在单独的线程上运行每个循环。
for
如果您有超过 1 个 CPU 内核运行代码,整体性能将会提高。
除此之外,了解您是否可以提高性能的最佳方法是查看时间花在了哪里。在分析器中运行您的代码。
不知道细节很难说 :-) 运行一个 for 循环不应该花这么长时间。
如果你有小操作,你应该做一些微基准测试(见这里和这里)。
如果你做一些复杂的东西,你需要做一些分析(Eclipse,NetBeans 带有它自己的分析器,你也可以尝试JProfiler但有很多替代品)。
如果您可以并行化循环,则可以在多个内核上运行它。或者您可以购买更快的 CPU。
我在 C# for 循环中使用yield return. 我认为您绝对应该评估使用它。
yield return
检查这个指示如何在Java中使用它的 SO 问题。
这是指向 Java 库的直接链接——来自答案——: