Blame tool/clock_of.c

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