java/src/main/java/cz/cvut/fit/swing/calipel/core/BenchmarkRunner.java
author Marcel Hlopko <marcel@hlopko.com>
Wed, 05 Nov 2014 21:15:34 +0100
changeset 254 e7f75a252b17
permissions -rw-r--r--
Move calipel-java from separate project into jv-calipel
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
254
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     1
package cz.cvut.fit.swing.calipel.core;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     2
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     3
import cz.cvut.fit.swing.calipel.printer.Printer;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     4
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     5
/**
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     6
 * User: mh
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     7
 */
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     8
public class BenchmarkRunner {
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
     9
    private final Configuration configuration;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    10
    private final BenchmarkSuite benchmarks;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    11
    private final Printer printer;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    12
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    13
    public BenchmarkRunner(BenchmarkSuite benchmarks,
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    14
                           Printer printer,
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    15
                           Configuration configuration) {
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    16
        this.benchmarks = benchmarks;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    17
        this.printer = printer;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    18
        this.configuration = configuration;
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    19
    }
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    20
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    21
    public void start() {
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    22
        BenchmarkResult result = new BenchmarkResult();
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    23
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    24
        for (Benchmark benchmark : benchmarks.getAllBenchmarks()) {
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    25
            benchmark.run(result);
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    26
        }
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    27
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    28
        printer.printResult(result);
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    29
    }
e7f75a252b17 Move calipel-java from separate project into jv-calipel
Marcel Hlopko <marcel@hlopko.com>
parents:
diff changeset
    30
}