| 
0102
 03
 04
 05
 06
 07
 08
 09
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | package algs11;
import stdlib.*;
public class PlaygroundPerformance {
  /* Return number of times 5.0 occurs in the list */
  public static int numFives (double[] a) {
    int result = 0;
    for (int i=0; i<a.length; i++)
      if (a[i] == 5.0)
        result++;   
    return result;
  }
  public static double timeTrial(int N) {
    double[] a = ArrayGenerator.doubleRandom(N, 10);
    Stopwatch s = new Stopwatch();
    numFives(a);
    return s.elapsedTime();
  }
  private static final int MIN =     1_000_000;
  private static final int MAX = 1_000_000_000;
  public static void main(String[] args) {
    double prev = timeTrial(MIN);
    for (int N = MIN*2; N<=MAX; N += N) {
      double time = timeTrial(N);
      StdOut.format("%,13d %10.3f %10.3f\n", N, time, time/prev);
      prev = time;
    }
  }
} |