Blame view

3rdparty/boost_1_81_0/libs/timer/example/timex.cpp 1.04 KB
73ef4ff3   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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() );
  }