我想了解方法的执行时间和内存消耗如何根据方法的参数进行缩放。到目前为止,我已经开始通过JUnit测试该方法并为不同的参数集运行多个测试(例如使用JUnit Theories)。为了从设置测试等的开销中抽象出来,时间是根据我感兴趣的步骤之前和之后System.currentTimeMillis
的差异来计算的。这看起来有点hacky,有没有更自然的方法此?
我还想看看内存消耗如何用不同的参数表现。我想到了JVisualVM,但有更优雅的方式可以自动获得我想要的东西吗?
答案 0 :(得分:3)
我建议你使用JMH java基准框架。
JMH是用于构建,运行和分析的Java工具 用Java和其他语言编写的nano / micro / milli / macro基准测试 针对JVM。