Blame tool/clock_of.c

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
}