C++ - A nice example measuring funtion execution time with C++11
less than 1 minute read
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include < iostream >
#include < chrono >
template < typename TimeT = std ::chrono::milliseconds >
struct measure
{
template < typename F , typename ... Args >
static typename TimeT ::rep execution ( F && func , Args &&... args )
{
auto start = std ::chrono::system _ clock ::now () ;
std ::forward < decltype ( func ) > ( func )( std ::forward < Args > ( args ) ... ) ;
auto duration = std ::chrono::duration _ cast < TimeT >
( std ::chrono::system _ clock ::now () - start ) ;
return duration . count () ;
}
} ;
int main () {
std ::cout << measure <> ::execution ( functor ( dummy )) << std ::endl ;
}