// Copyright (c) 1997, 1998 Bruno R. Preiss, P.Eng. // $Author: brpreiss $ // $Date: 1998/12/14 02:57:41 $ // $RCSfile: Experiment1.java,v $ // $Revision: 3.4 $ package Opus5; import java.util.*; /** * Program that measures the running times of both * a recursive and a non-recursive method that computes * the Fibonacci numbers. * @author Bruno R. Preiss, P.Eng. * @version $Id: Experiment1.java,v 3.4 1998/12/14 02:57:41 brpreiss Exp $ **/ class Experiment1 { //[ final String copyright = "@(#) Copyright (c) 1998 by Bruno R. Preiss, P.Eng."; //] /** * Measures the running times taken by * Example.fibonacci and Example.fibonacci2 * to compute each of the first 47 Fibonacci numbers. * @param args The command-line arguments. Ignored. **/ public static void main (String[] args) { Terminal.out.println ("3"); Terminal.out.println ("n"); Terminal.out.println ("fib1 s"); Terminal.out.println ("fib2 s"); for (int i = 0; i < 48; ++i) { long startTime = System.currentTimeMillis (); int result = Example.fibonacci (i); long stopTime = System.currentTimeMillis (); double time1 = (stopTime - startTime) / 1000.; startTime = System.currentTimeMillis (); result = Example.fibonacci2 (i); stopTime = System.currentTimeMillis (); double time2 = (stopTime - startTime) / 1000.; Terminal.out.println (i + "\t" + time1 + "\t" + time2); } } }