java - 需要有关计算 Java 方法性能的帮助

标签 java performance timing

我遇到了一种情况,我必须及时提供代码中的每个方法的性能。

这是一个多层应用程序,我必须为每个级别提供。 喜欢

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/

相关文章:

java - 如何将 postgresql 添加到 OpenShift Spring 应用程序?

java - 如何让 Geany 回到窗口状态

java - Activity 重用逻辑

python - 两个数组累积交集的快速算法

c++ - 减少大数据的条件语句

python - %timeit 在代码中等效

c++ - 计算函数在 C++ 中花费多长时间的最佳方法是什么?

java - 操作系统版本范围的 Maven 配置文件

java - SQL 表到 nosql (MongoDB) - 简单的例子

.net - Windows 毫秒计时 - 没有 busywait?