// 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);
}
}
}