通过JUnit测试Java方法的执行时间和内存消耗

Testing a Java method's execution time and memory consumption via JUnit

本问题已经有最佳答案,请猛点这里访问。

我想分析一个方法的执行时间和内存消耗如何根据该方法的参数进行缩放。到目前为止,我已经提出了通过JUnit测试方法,并对不同的参数集(例如,使用JUnit理论)运行了几个测试。为了从设置测试等产生的开销中提取,时间是通过我感兴趣的步骤前后的EDOCX1[0]中的差异来计算的。这看起来有点老土,有更自然的方法吗?

此外,我还想了解内存消耗在不同参数下的行为。我想到的是jvisualvm,但有没有更优雅的方式自动得到我想要的?


我建议您使用JMH Java基准框架。

JMH is a Java harness for building, running, and analysing
nano/micro/milli/macro benchmarks written in Java and other languages
targetting the JVM.