jigcell.compare.tests
Class TransformBenchmark

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

public class TransformBenchmark
extends Benchmark
implements java.beans.PropertyChangeListener

A collection of tests for evaluating transform loading performance.

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

Author:
Nicholas Allen

Field Summary
protected  IDataEditorTab experimentView
          View to load experimental data in
protected  IDataGenerator result
          Record of loading results
protected  FileDataSource source
          Source to load from
protected  EditableSeriesView transformView
          View to load transforms in
 
Fields inherited from class jigcell.compare.tests.Benchmark
benchmarkRunnable, compare
 
Constructor Summary
TransformBenchmark(Compare compare)
          Creates a new tester for transform loading performance.
 
Method Summary
 double benchmark(int size)
          Runs a benchmark that loads an experiment file then loads a transform file.
 double benchmarkAddRow(int size)
          Runs a benchmark that loads an experiment file, adds a new row, saves the experiment file, loads a transform file, adds a new transform, and saves the transform file.
static IDataGeneratorMap generateData(int size)
          Generates some transforms.
static ITransform generateTransform(int seed)
          Generates a new transform.
 void propertyChange(java.beans.PropertyChangeEvent e)
           
 IDataGenerator runBenchmark()
          Runs a collection of benchmarks for loading transform 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

transformView

protected EditableSeriesView transformView
View to load transforms in


source

protected FileDataSource source
Source to load from


experimentView

protected IDataEditorTab experimentView
View to load experimental data in


result

protected IDataGenerator result
Record of loading results

Constructor Detail

TransformBenchmark

public TransformBenchmark(Compare compare)
Creates a new tester for transform loading performance.

Parameters:
compare - Comparator to abuse
Method Detail

generateData

public static IDataGeneratorMap generateData(int size)
Generates some transforms. The transforms match up with the experiments generated by ExperimentPerformanceTester.

Parameters:
size - Number of transforms to create

generateTransform

public static ITransform generateTransform(int seed)
Generates a new transform.

Parameters:
seed - Number used to create unique 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 then loads a transform file.

Parameters:
size - Size of experiment and transform files
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, saves the experiment file, loads a transform file, adds a new transform, and saves the transform file.

Parameters:
size - Size of experiment and transform files
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 transform 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