1 // test_thread_clock.cpp ----------------------------------------------------------// 2 3 // Copyright 2009 Vicente J. Botet Escriba 4 5 // Distributed under the Boost Software License, Version 1.0. 6 // See http://www.boost.org/LICENSE_1_0.txt 7 8 9 #include <boost/chrono/thread_clock.hpp> 10 #include <boost/type_traits.hpp> 11 12 #include <iostream> 13 14 test_thread_clock()15void test_thread_clock() 16 { 17 #if defined(BOOST_CHRONO_HAS_THREAD_CLOCK) 18 using namespace boost::chrono; 19 20 std::cout << "thread_clock test" << std::endl; 21 thread_clock::duration delay = milliseconds(5); 22 thread_clock::time_point start = thread_clock::now(); 23 while (thread_clock::now() - start <= delay) 24 ; 25 thread_clock::time_point stop = thread_clock::now(); 26 thread_clock::duration elapsed = stop - start; 27 std::cout << "paused " << nanoseconds(elapsed).count() << " nanoseconds\n"; 28 start = thread_clock::now(); 29 stop = thread_clock::now(); 30 std::cout << "thread_clock resolution estimate: " << nanoseconds(stop-start).count() << " nanoseconds\n"; 31 #else 32 std::cout << "thread_clock not available\n"; 33 #endif 34 } 35 36 main()37int main() 38 { 39 test_thread_clock(); 40 return 0; 41 } 42 43