|
Packit Service |
8bf002 |
/* clock_of.c: to measure the execution time of a program. */
|
|
Packit Service |
8bf002 |
/* 2002/08 kmatsui */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#include "stdio.h"
|
|
Packit Service |
8bf002 |
#include "stdlib.h"
|
|
Packit Service |
8bf002 |
#include "string.h"
|
|
Packit Service |
8bf002 |
#include "time.h"
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
void usage( void);
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
int main( int argc, char ** argv)
|
|
Packit Service |
8bf002 |
{
|
|
Packit Service |
8bf002 |
char command[ BUFSIZ];
|
|
Packit Service |
8bf002 |
char **arg, *buf;
|
|
Packit Service |
8bf002 |
long start_time, passed_time;
|
|
Packit Service |
8bf002 |
int ret;
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
if (argc < 2)
|
|
Packit Service |
8bf002 |
usage();
|
|
Packit Service |
8bf002 |
ret = -1;
|
|
Packit Service |
8bf002 |
arg = argv;
|
|
Packit Service |
8bf002 |
buf = command;
|
|
Packit Service |
8bf002 |
while (*++arg) {
|
|
Packit Service |
8bf002 |
sprintf( buf, "%s ", *arg);
|
|
Packit Service |
8bf002 |
buf += strlen( buf);
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
fprintf( stderr, "%s\n", command);
|
|
Packit Service |
8bf002 |
start_time = clock();
|
|
Packit Service |
8bf002 |
ret = system( command);
|
|
Packit Service |
8bf002 |
if (ret == 0) {
|
|
Packit Service |
8bf002 |
passed_time = clock() - start_time;
|
|
Packit Service |
8bf002 |
fprintf( stderr, "%ld ticks passed (%f seconds).\n"
|
|
Packit Service |
8bf002 |
, passed_time, (double) passed_time / CLOCKS_PER_SEC);
|
|
Packit Service |
8bf002 |
} else {
|
|
Packit Service |
8bf002 |
fprintf( stderr, "Command execution error! (status: %d)\n", ret);
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
return 0;
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
void usage( void)
|
|
Packit Service |
8bf002 |
{
|
|
Packit Service |
8bf002 |
fputs( "usage: clock_of <command> [<args>]\n", stderr);
|
|
Packit Service |
8bf002 |
exit( 1);
|
|
Packit Service |
8bf002 |
}
|