diff options
Diffstat (limited to 'src/boost/libs/timer/example/timex.cpp')
-rw-r--r-- | src/boost/libs/timer/example/timex.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/boost/libs/timer/example/timex.cpp b/src/boost/libs/timer/example/timex.cpp new file mode 100644 index 00000000..f0597ef9 --- /dev/null +++ b/src/boost/libs/timer/example/timex.cpp @@ -0,0 +1,47 @@ +// 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 <boost/timer/timer.hpp> +#include <cstdlib> +#include <string> +#include <iostream> + +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() ); +} |