我遇到了一种情况,我必须及时提供代码中的每个方法的性能。
这是一个多层应用程序,我必须为每个级别提供。 喜欢
Class A.methodA()
{
Class B.methodB()
{
Class C.methodC()
{
//Time Taken 30 sec
}
//Time Taken 40 secs
}
//Time Taken 50 secs
}
整个操作在 50 秒内完成。
这就是我应该提供报告的方式。除了手动跟踪每种方法的开始时间和停止时间之外,还有其他框架或简单的方法吗? 由于我是 Java 开发新手,发现轻松做到这一点有点困难。
最佳答案
不确定您提供的这段代码是什么意思,因为它看起来不像有效的java代码(也许您将类与方法混淆了?)最简单的解决方案是使用 System.currentTimeMillis(),这里是一些简单的例子:
public class Main {
public static void main(String[] args) throws IOException {
long t1 = System.currentTimeMillis();
//some code you want to check
doOtherWork();
long t2 = System.currentTimeMillis();
System.out.println("Main time: " + (t2-t1));
}
public static void doOtherWork(){
long t1 = System.currentTimeMillis();
//some code you want to check
evenMoreWork();
long t2 = System.currentTimeMillis();
System.out.println("doOtherWork time: " + (t2-t1));
}
public static void evenMoreWork(){
long t1 = System.currentTimeMillis();
//some code you want to check
long t2 = System.currentTimeMillis();
System.out.println("evenMoreWork time: " + (t2-t1));
}
}
请记住,在方法 main 中花费的时间还包括在它调用的所有方法中花费的时间。
关于java - 需要有关计算 Java 方法性能的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40201153/