58
I want to make some performance measures (mainly runtime) for my Java code, a single-threaded, local, complex algorithm. (So I do not want a macro-benchmark to measure a JVM implementation.)
With the tool, I would like to
- analyse the complexity, i.e. see how my code scales for a parameter n (the search depth). (I already have a junit test parameterized in n.)
- do some trend analysis to get warned if some change to the code base makes the code slower.
For this, I would like to use a tool or framework that
- does the statistics, optimally computing the mean value, standard deviation and confidence intervals. This is very important.
- can be parameterized (see parameter n above). This is also very important.
- is able to produce a fancy plot would be nice, but is not required
- can be used in an automated (junit-)test to warn me if my program slows done, but this is also not required, just a plus.
What tools/frameworks fulfill these requirements? Which one would be well suited for complexity and trend analysis, and why?