I have used caliper based template https://github.com/dcsobral/scala-foreach-benchmark happily for years. It runs randomly constructed problems multiple times and than calculates average time consumption.
Now I have faced with non-deterministic algorithm. So I need to know both running time and resulting fitness. I'm searching for a java/scala benchmark framework that can measure both characteristics in average and worst case scenario.
Non-deterministic means that algorithm relies on some random generator to make decisions. It used to find a near-optimal solution, where searching the optimum would require too much processor time. e.g. solution for the TSP problem.
Fitness means cost function for optimization process. Different runs (with different random seeds) may come with different costs. So you need to stabilize not only run time, but cost value (fitness).
I don't know if repeated invocation of a function until it shows acceptable run time variation is common feature of benchmark frameworks, but the caliper does so, and I search for a similar framework that is more advanced and capable of handling fitness besides time.