package com.tspoon.benchit.sample.comparisons; import com.tspoon.benchit.Benchit; import com.tspoon.benchit.sample.data.Data; import java.util.ArrayList; public class ArrayListComparison extends Comparison { @Override public void setup() { mBenchmarks = new ArrayList<>(); mBenchmarks.add(new BenchmarkArrayListNaive()); mBenchmarks.add(new BenchmarkArrayListEnhanced()); mBenchmarks.add(new BenchmarkArrayListFast()); } @Override public Benchit.Precision getPrecision() { return Benchit.Precision.MILLI; } class BenchmarkArrayListNaive extends Benchmark { private ArrayList<Integer> mData = Data.getInstance().getSampleArrayList(); @Override public void benchmark() { for (int i = 0; i < mData.size(); i++) { Object o = mData.get(i); } } } class BenchmarkArrayListFast extends Benchmark { private ArrayList<Integer> mData = Data.getInstance().getSampleArrayList(); @Override public void benchmark() { int size = mData.size(); for (int i = 0; i < size; i++) { Object o = mData.get(i); } } } class BenchmarkArrayListEnhanced extends Benchmark { private ArrayList<Integer> mData = Data.getInstance().getSampleArrayList(); @Override public void benchmark() { for (Object o : mData) { } } } }