
Hello, As I didn't receive the answers I was looking for, here is my last proposal. My imlpementation does the templating of the timer class as suggested. By using boost::posix_time::microsec_clock as the template parameter, we are able to do microsec timing. This works fine, at least in the environnements I tested it (windows 2000 and gentoo). I added two typedefs: typedef boost::timer<boost::posix_time::second_clock> second_timer; typedef boost::timer<boost::posix_time::microsec_clock> microsec_timer; Now one can simply use boost::microsec_timer and time his code at microsecond level. Because of the long discussion about QueryPerformanceCounter that didn't came to a real conclusion, I decided to implement two additionnal timers: - boost::qpc_timer, which use QueryPerformanceCounter() for its resolution. - boost::tgt_timer, which use timeGetTime() for its resolution. As using those timers would make no sense on another platform than windows, those are not defined by default. One must #define BOOST_QPC_TIMER to get boost::qpc_timer and must #define BOOST_TGT_TIMER to get boost::tgt_timer. Trying to do those defines on another platform than windows results in an #error. Please tell me what do you think of the code (review ?) and tell me if this is ok for boost. To test it simply put timer_new.hpp into the boost folder and compile main.cpp, uncommenting the macros at top to test the second/qpc/tgt timers if wanted. The goal is that timer_new.hpp is then renamed to timer.hpp and replaces the current header. Thank you Philippe