Skip to content
JUnit 4 test runner for measuring performance and scalability
Find file
Pull request Compare This branch is 14 commits behind jfuerth:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a test runner that simplifies the creation of performance and scalability tests.


Create a test class like this, and give it to JUnit 4.x:

public class MultiThreadUsageExampleTest {

  public void demonstrationTest(
      @Varying(name="Threads", from=1, to=10) int threadCount,
      @Varying(name="List Size", axis=Axis.X, from=100000, to=1000000, step=100000) int entryCount) {

      // code here that relies on threadCount and entryCount


When run, the method demonstrationTest will be called with all the combinations of threadCount and entryCount that you'd expect. In the above example, demonstrationTest would be called a total of 100 times.

Recent Developments

  • Added reporting capabilities by writing out HTML files that use flot to plot charts when displayed in the browser.
    • You can toggle the visibility of a series by clicking its entry in the legend
    • currently just a POC because the generated files depend on external JS and CSS files

The Future

  • Labels for chart axes (needs 3rd party flot extension)
  • package flot, minimize it, and embed it in the generated HTML
    • also embed the CSS file
  • make the report generator configurable using system properties
  • publish the test runner to Maven Central
  • allow the option of multiple identical runs, possibly in random order; aggregate min/max/avg before reporting
Something went wrong with that request. Please try again.