Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

tesleep.cc File Reference

#include "_timer.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>

Include dependency graph for tesleep.cc:

Include dependency graph

Go to the source code of this file.

Functions

void quit_tesleep (int sig)
 main (int argc, char **argv)

Variables

 want_to_quit_tesleep = 0


Function Documentation

void quit_tesleep int    sig [static]
 

Definition at line 12 of file tesleep.cc.

00013 {
00014   want_to_quit_tesleep = 1;
00015 }

main int    argc,
char **    argv
 

Definition at line 16 of file tesleep.cc.

00017 {
00018   double last_time;
00019   double cycle_time;
00020   double current_time;
00021   double max_time = 0.0;
00022   double min_time = 1e9;
00023   double start_time;
00024   double stop_time;
00025   int num_cycles;
00026   double total_time;
00027   int i;
00028 
00029   if (argc > 1)
00030     {
00031       cycle_time = atof (argv[1]);
00032     }
00033   else
00034     {
00035       cycle_time = clk_tck ();
00036     }
00037 
00038   if (argc > 2)
00039     {
00040       num_cycles = strtol (argv[2], NULL, 0);
00041     }
00042   else
00043     {
00044       num_cycles = 10000;
00045     }
00046 
00047   signal (SIGINT, quit_tesleep);
00048   printf ("cycle_time = %f\n", cycle_time);
00049   printf ("num_cycles = %d\n", num_cycles);
00050   fflush (stdout);
00051   esleep (cycle_time);
00052 
00053   start_time = last_time = etime ();
00054   for (i = 0; i < num_cycles && !want_to_quit_tesleep; i++)
00055     {
00056       esleep (cycle_time);
00057       current_time = etime ();
00058       if (current_time - last_time > max_time)
00059         {
00060           max_time = (current_time - last_time);
00061         }
00062       if (current_time - last_time < min_time)
00063         {
00064           min_time = (current_time - last_time);
00065         }
00066       last_time = current_time;
00067     }
00068   stop_time = etime ();
00069   total_time = stop_time - start_time;
00070   printf ("num_cycles = %d\n", i);
00071   printf ("total time = %f\n", total_time);
00072   printf ("avg cycle time = %f\n", (total_time) / i);
00073   printf ("min cycle time = %f\n", min_time);
00074   printf ("max cycle time = %f\n", max_time);
00075 
00076 }


Variable Documentation

want_to_quit_tesleep = 0 [static]
 

Definition at line 9 of file tesleep.cc.


Generated on Sun Dec 2 15:58:01 2001 for rcslib by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001