--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/java/src/main/java/cz/cvut/fit/swing/calipel/core/Benchmark.java Wed Nov 05 21:15:34 2014 +0100
@@ -0,0 +1,42 @@
+package cz.cvut.fit.swing.calipel.core;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Benchmark {
+ private List<BenchmarkInstance> benchmarkInstances;
+ private Configuration configuration;
+
+ public Benchmark(List<BenchmarkInstance> benchmarkInstances,
+ Configuration configuration) {
+ this.benchmarkInstances = benchmarkInstances;
+ this.configuration = configuration;
+ }
+
+ public void run(BenchmarkResult result) {
+ for (BenchmarkInstance instance : benchmarkInstances) {
+ try {
+
+ for (int i = 0; i < 10; i++) {
+ instance.timeIt();
+ }
+
+ List<Long> durations = new ArrayList<Long>();
+ for (int i = 0; i < configuration.getNumOfTries(); i++) {
+ durations.add(instance.timeIt());
+ }
+
+ result.benchmarkMeasured(instance, durations);
+ } catch (Exception e) {
+ result.benchmarkFailed(this, e);
+ }
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "Benchmark{" +
+ "benchmarkInstances=" + benchmarkInstances +
+ '}';
+ }
+}