package com.tspoon.benchit.sample.comparisons; import com.tspoon.benchit.Benchit; import com.tspoon.benchit.Result; import com.tspoon.benchit.sample.Config; import java.util.ArrayList; public abstract class Benchmark { ArrayList<Result> mResults; public void setup() { mResults = new ArrayList<>(); } public final void runBenchmarks(Benchit.Precision precision) { String name = getBenchmarkName(); for (int i = 0; i < Config.NUM_TESTS; i++) { Benchit.begin(name); benchmark(); Benchit.end(name).precision(precision); } mResults.add(Benchit.analyze(name).log()); } public abstract void benchmark(); public String getBenchmarkName() { return getClass().getSimpleName(); } public ArrayList<Result> getResults() { return mResults; } }