jigcell.compare.tests
Class ExperimentBenchmark

java.lang.Object
  extended by jigcell.compare.tests.Benchmark
      extended by jigcell.compare.tests.ExperimentBenchmark
All Implemented Interfaces:
java.beans.PropertyChangeListener, java.util.EventListener

public class ExperimentBenchmark
extends Benchmark
implements java.beans.PropertyChangeListener

A collection of tests for evaluating experiment loading performance.

This code is licensed under the DARPA BioCOMP Open Source License. See LICENSE for more details.

Author:
Nicholas Allen

Field Summary
protected  EditableSeriesView experimentView
          View to load in
protected  IDataGenerator result
          Record of loading results
protected  FileDataSource source
          Source to load from
 
Fields inherited from class jigcell.compare.tests.Benchmark
benchmarkRunnable, compare
 
Constructor Summary
ExperimentBenchmark(Compare compare)
          Creates a new tester for experiment loading performance.
 
Method Summary
 double benchmark(int size)
          Runs a benchmark that loads an experiment file.
 double benchmarkAddRow(int size)
          Runs a benchmark that loads an experiment file, adds a new row, and saves the experiment file.
static IDataGeneratorList generateData(int size)
          Generates some experimental data.
static IDataGenerator generateGenerator(IEditableDataGenerator generator, int seed)
          Generates a new experimental setup.
 void propertyChange(java.beans.PropertyChangeEvent e)
           
 IDataGenerator runBenchmark()
          Runs a collection of benchmarks for loading experiment files.
 IDataGenerator runBenchmarkAddRow()
          Runs a collection of benchmarks for adding to experiment files.
protected  void runOffEventThread()
          Performs the tester computations that do not interact with the interface.
protected  void runOnEventThread(int state)
          Performs an operation that interacts with the interface.
static void test(Compare compare)
          Runs a loading benchmark.
 
Methods inherited from class jigcell.compare.tests.Benchmark
createBenchmarkReport, currentTime, loadInView, reset, runState, timeRunState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

experimentView

protected EditableSeriesView experimentView
View to load in


source

protected FileDataSource source
Source to load from


result

protected IDataGenerator result
Record of loading results

Constructor Detail

ExperimentBenchmark

public ExperimentBenchmark(Compare compare)
Creates a new tester for experiment loading performance.

Parameters:
compare - Comparator to abuse
Method Detail

generateData

public static IDataGeneratorList generateData(int size)
Generates some experimental data.

Parameters:
size - Number of generators to create

generateGenerator

public static IDataGenerator generateGenerator(IEditableDataGenerator generator,
                                               int seed)
Generates a new experimental setup.

Parameters:
generator - Generator to configure or null to create a new data generator
seed - Number used to create unique experimental data

test

public static void test(Compare compare)
Runs a loading benchmark.

Parameters:
compare - Comparator to abuse

benchmark

public double benchmark(int size)
                 throws java.lang.Exception
Runs a benchmark that loads an experiment file.

Parameters:
size - Size of experiment file
Throws:
java.lang.Exception

benchmarkAddRow

public double benchmarkAddRow(int size)
                       throws java.lang.Exception
Runs a benchmark that loads an experiment file, adds a new row, and saves the experiment file.

Parameters:
size - Size of experiment file
Throws:
java.lang.Exception

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

runBenchmark

public IDataGenerator runBenchmark()
                            throws java.lang.Exception
Runs a collection of benchmarks for loading experiment files.

Throws:
java.lang.Exception

runBenchmarkAddRow

public IDataGenerator runBenchmarkAddRow()
                                  throws java.lang.Exception
Runs a collection of benchmarks for adding to experiment files.

Throws:
java.lang.Exception

runOffEventThread

protected void runOffEventThread()
                          throws java.lang.Exception
Performs the tester computations that do not interact with the interface. This method will be called at the start of the test.

Specified by:
runOffEventThread in class Benchmark
Throws:
java.lang.Exception

runOnEventThread

protected void runOnEventThread(int state)
                         throws java.lang.Exception
Performs an operation that interacts with the interface. After the operation completes, the thread needs to notify the benchmark.

Specified by:
runOnEventThread in class Benchmark
Parameters:
state - Indicates which interface operation is next
Throws:
java.lang.Exception