/* Example suggested by Dr. Nowling */ package class1_1_Microbenchmark_start; import java.util.ArrayList; import java.util.List; import java.util.Random; public class SpeedTest { private static final int NUM_PEOPLE = 1_000_000; public static final int NANOS_PER_UNIT = 1_000_000_000; public static void main(String[] args) { List line = new ArrayList<>(); long startTime = System.nanoTime(); irs(line); System.out.println("Total time: "+ ((double)(System.nanoTime()-startTime)/NANOS_PER_UNIT) + "s "); } private static void irs(List line) { Random personGenerator = new Random(); for(int i = 0; i < NUM_PEOPLE; i++) { getInLine(personGenerator.nextDouble(), line); } for(int i = 0; i < NUM_PEOPLE; i++) { serveNext(line); } } private static void serveNext(List line) { line.remove(line.size()-1); } private static void getInLine(double person, List line) { line.add(person); } }