ScalaC Perf tester

A utility that runs multi versions of the scalaC compiler for multiple iterations to provide performance analysis.

To Use - run

java org.perftester.ProfileMain -s -a TEST_BUILD -r RESULTS_DIR --iterations ITERATIONS

Where:

n.b This takes a long time to run - you also, ideally, want to run it on a stable system (e.g. not a laptop which slows down when it gets hot)

ScalaC takes some iterations before JIT is stable and results stop getting faster (typically 2+ mins). Hence the need to run (and then ignore) early iterations.

To setup which builds to run and compare, currently this is hardcoded in ProfileMain // 2.12.1 vs latest TestConfig("00_2.12.2", BuildFromGit("21d12e9f5ec1ffe023f509848911476c1552d06f"),extraJVMArgs = List()), TestConfig("00_2.12.x", BuildFromGit("e1e8d050deb643ca56db1549e2e5a3114572a952"),extraJVMArgs = List()) These are two test configs with names and using git hashes as their baseline. (You can also use a test directory so you can test in-development code.)