我想为我的Java代码(一种单线程,本地,复杂的算法)制定一些性能测量(主要是运行时).(所以我不想要宏基准来衡量JVM实现.)
有了这个工具,我想
- 分析复杂性,即查看我的代码如何缩放参数n(搜索深度).(我已经在n中进行了参数化的junit测试.)
- 如果某些代码库的更改会使代码变慢,请进行一些趋势分析以获得警告.
为此,我想使用一个工具或框架
- 进行统计,最优地计算平均值,标准差和置信区间.这是非常重要的.
- 可以参数化(参见上面的参数n).这也很重要.
- 能够制作花哨的情节会很好,但不是必需的
- 可用于自动(junit-)测试,以警告我,如果我的程序运行缓慢,但这也不是必需的,只是一个加号.
哪些工具/框架满足这些要求?哪一个适合复杂性和趋势分析,为什么?