// timex: timed execution program ------------------------------------------// // Copyright Beman Dawes 2007 // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt // See http://www.boost.org/libs/timer for documentation. #include #include #include #include int main( int argc, char * argv[] ) { if ( argc == 1 ) { std::cout << "invoke: timex [-v] command [args...]\n" " command will be executed and timings displayed\n" " -v option causes command and args to be displayed\n"; return 1; } std::string s; bool verbose = false; if ( argc > 1 && *argv[1] == '-' && *(argv[1]+1) == 'v' ) { verbose = true; ++argv; --argc; } for ( int i = 1; i < argc; ++i ) { if ( i > 1 ) s += ' '; s += argv[i]; } if ( verbose ) { std::cout << "command: \"" << s.c_str() << "\"\n"; } boost::timer::auto_cpu_timer t(" %ws elapsed wall-clock time\n"); return std::system( s.c_str() ); }