我有一个Java应用程序有6个for loops
。这些循环进行大量计算,结果非常慢。有时,看起来它永远不会结束,直到你100岁。
我跑了Netbeans" profiler"看看哪个循环需要更多时间。不幸的是,我无法做到这一点,因为所有的循环都在一个单一的方法中,并且分析器没有指向循环性能的循环。
我真的需要监控性能,以便我可以单独解决每个循环的性能问题。但是我如何使用Netbeans" profiler"?
有没有其他方法可以提供帮助?
答案 0 :(得分:1)
将您的方法拆分为更小的方法,然后在这些方法上使用分析工具...
答案 1 :(得分:0)
对于简单的分析,可以输出一些类似的输出:
for (/*for condition here*/) {
final long startTime = System.currentTimeMillis();
// your "massive computation" here
final long duration = System.currentTimeMillis() - startTime;
System.out.printf("%.2f sec\n", duration / 1000);
}
但是,正如Assylias所提到的,重新组织代码(可能使用并发)可能是你现在的真正任务。