Unit-tests may be the best thing since sliced bread, what we're also going to need is a way to do performance tests. Ideally we can combine this with the JUnit framework. What we need basically is a wrapper around a unit-test that tells us how long it took to perform the test. Since unit-tests are usually short tests that don't run very long they're not always suitable for performance tests. To get a good measure about the performance of some code it needs to run a reasonable time that can be measured in a way to have the granularity of the clock not skew the results. One way to do this is to run the same test a large number of times.
RepeatedTest is an extension of JUnit that comes in the same JAR. The timing wrapper we would make ourselves if this hadn't already been done by someone else. Let's introduce JUnitPerf, which has a class TimedTest. This in combination with RepeatedTest is exactly what we need.
So let's go Back to our BasicGoMoveAdministration class and the MoveAdministrationUnitTest class. To the latter we add a few tests that play through a few games which in total have a few thousands of moves in them. After making sure it runs as a unit-test (and ironing out any bugs we find along the way this way) we can start using our new JUnitPerf library to give some timing. MoveAdministrationPerformanceTest is now a very simple class that takes the unit-test class and runs one of the tests and prints the time it took. Most likely it will print some number like 0.123 seconds. I don't trust this number, so I make a RepeatedTest instance that does the same thing 1000 times. Now we get a time of 4.2 seconds. (Times on your computer may vary depending on the speed of your CPU.) Since we've just done 1000 tests playing 4499 moves each time and taking them back we can say that our simple MoveAdministration implementaion is not too shabby after all. A little over 1 million moves per second. Not stellar, but for the simple purpose this class needs to serve sufficient.
A good profiler is an indispensable tool for a project like this. We've been provided with free licenses of the YourKit Java Profiler for this project, for which we are very thankful.