Crossfire JXClient, Trunk
|
Classes | |
class | Configuration |
class | Range |
Static Public Member Functions | |
static void | main (String[] args) |
Private Member Functions | |
int[] | generateArray (int elements) |
long | medianValue (long[] times) |
void | printResults (Range sizes, Range parallelism, long[][] times) |
void | run (Configuration config) |
long | runForParallelism (int iterations, int elements, int parallelism) |
void | runForSize (Range parallelism, int elements, long[][] times, int size) |
void | warmup () |
Private Attributes | |
final Random | random = new Random(759123751834L) |
Static Private Attributes | |
static final int | ITERATIONS = 10 |
MergeExample is a class that runs a demo benchmark of the
framework by benchmarking a MergeSort algorithm that is implemented using java.util.concurrent.RecursiveAction. The
framework is setup with different parallelism levels and the sort is executed with arrays of different sizes to see the trade offs by using multiple threads for different sizes of the array.
Definition at line 54 of file MergeDemo.java.
|
private |
Generates an array of
random elements
elements | the number of elements requested in the array |
Definition at line 172 of file MergeDemo.java.
References random.
Referenced by runForParallelism(), and warmup().
|
static |
Definition at line 288 of file MergeDemo.java.
References MergeDemo.Configuration.parse(), and run().
|
private |
Calculates the median value of the array
times | array of times |
Definition at line 265 of file MergeDemo.java.
Referenced by runForParallelism().
Prints the results as a table
sizes | the different sizes of the arrays |
parallelism | the different parallelism levels used |
times | the median times for the different sizes / parallelism |
Definition at line 207 of file MergeDemo.java.
References MergeDemo.Range.get(), MergeDemo.Range.getIterations(), and size.
Referenced by run().
|
private |
Runs the test
config | contains the settings for the test |
Definition at line 184 of file MergeDemo.java.
References MergeDemo.Configuration.createTimesArray(), MergeDemo.Range.get(), MergeDemo.Range.getIterations(), MergeDemo.Configuration.parallelism, printResults(), runForSize(), size, MergeDemo.Configuration.sizes, and warmup().
Referenced by main().
|
private |
Runs iterations number of test sorts of a random array of element length
iterations | number of iterations |
elements | number of elements in the random array |
parallelism | parallelism for the ForkJoin framework |
Definition at line 244 of file MergeDemo.java.
References generateArray(), medianValue(), and MergeSort.sort().
Referenced by runForSize().
|
private |
Definition at line 230 of file MergeDemo.java.
References MergeDemo.Range.get(), MergeDemo.Range.getIterations(), ITERATIONS, runForParallelism(), size, and time.
Referenced by run().
|
private |
Generates 1000 arrays of 1000 elements and sorts them as a warmup
Definition at line 281 of file MergeDemo.java.
References generateArray(), and MergeSort.sort().
Referenced by run().
|
staticprivate |
Definition at line 57 of file MergeDemo.java.
Referenced by runForSize().
|
private |
Definition at line 56 of file MergeDemo.java.
Referenced by generateArray().