$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r74526 - trunk/libs/chrono/example
From: vicente.botet_at_[hidden]
Date: 2011-09-22 17:53:27
Author: viboes
Date: 2011-09-22 17:53:25 EDT (Thu, 22 Sep 2011)
New Revision: 74526
URL: http://svn.boost.org/trac/boost/changeset/74526
Log:
Chrono: added traces to try to catch some errors on Solaris
Text files modified: 
   trunk/libs/chrono/example/lightweight_stopwatch_reporter_example.cpp |    10 ++++++++++                              
   trunk/libs/chrono/example/rounding.cpp                               |    19 +++++++++----------                     
   trunk/libs/chrono/example/stopwatch_example.cpp                      |    24 +++++++++++++++++++++---                
   trunk/libs/chrono/example/stopwatch_reporter_example.cpp             |     8 ++++++++                                
   4 files changed, 48 insertions(+), 13 deletions(-)
Modified: trunk/libs/chrono/example/lightweight_stopwatch_reporter_example.cpp
==============================================================================
--- trunk/libs/chrono/example/lightweight_stopwatch_reporter_example.cpp	(original)
+++ trunk/libs/chrono/example/lightweight_stopwatch_reporter_example.cpp	2011-09-22 17:53:25 EDT (Thu, 22 Sep 2011)
@@ -6,6 +6,7 @@
 //  See http://www.boost.org/libs/chrono/stopwatches for documentation.
 
 //#include <iostream>
+#include <boost/chrono/stopwatches/basic_stopwatch.hpp>
 #include <boost/chrono/stopwatches/reporters/lightweight_stopwatch_reporter.hpp>
 #include <boost/chrono/stopwatches/reporters/system_default_formatter.hpp>
 #include <boost/chrono/chrono_io.hpp>
@@ -18,20 +19,29 @@
 int f1(long j)
 {
 
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   lightweight_stopwatch_reporter<simple_stopwatch<> > sw(fmtr);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
 
   for ( long i = 0; i < j; ++i )
     std::sqrt( 123.456L );  // burn some time
 
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   return 0;
 }
 int main()
 {
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   lightweight_stopwatch_reporter<simple_stopwatch<> > sw(fmtr);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
 
   f1(1000);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   f1(2000);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   f1(3000);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   f1(4000);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   return 0;
 }
Modified: trunk/libs/chrono/example/rounding.cpp
==============================================================================
--- trunk/libs/chrono/example/rounding.cpp	(original)
+++ trunk/libs/chrono/example/rounding.cpp	2011-09-22 17:53:25 EDT (Thu, 22 Sep 2011)
@@ -15,16 +15,15 @@
 
 int main()
 {
-        using namespace boost::chrono;
-        milliseconds ms(2500);
-        std::cout << floor<seconds>(ms) << '\n';
-        std::cout << round<seconds>(ms) << '\n';
-        std::cout << ceil<seconds>(ms) << '\n';
-        ms = milliseconds(2516);
-        typedef duration<long, boost::ratio<1, 30> > frame_rate;
-        std::cout << floor<frame_rate>(ms) << '\n';
-        std::cout << round<frame_rate>(ms) << '\n';
-        std::cout << ceil<frame_rate>(ms) << '\n';
+  boost::chrono::milliseconds ms(2500);
+        std::cout << boost::chrono::floor<boost::chrono::seconds>(ms) << '\n';
+        std::cout << boost::chrono::round<boost::chrono::seconds>(ms) << '\n';
+        std::cout << boost::chrono::ceil<boost::chrono::seconds>(ms) << '\n';
+        ms = boost::chrono::milliseconds(2516);
+        typedef boost::chrono::duration<long, boost::ratio<1, 30> > frame_rate;
+        std::cout << boost::chrono::floor<frame_rate>(ms) << '\n';
+        std::cout << boost::chrono::round<frame_rate>(ms) << '\n';
+        std::cout << boost::chrono::ceil<frame_rate>(ms) << '\n';
 
         return 0;
 }
Modified: trunk/libs/chrono/example/stopwatch_example.cpp
==============================================================================
--- trunk/libs/chrono/example/stopwatch_example.cpp	(original)
+++ trunk/libs/chrono/example/stopwatch_example.cpp	2011-09-22 17:53:25 EDT (Thu, 22 Sep 2011)
@@ -8,27 +8,45 @@
 //#include <iostream>
 #include <boost/chrono/stopwatches/simple_stopwatch.hpp>
 #include <boost/chrono/chrono_io.hpp>
+#include <boost/chrono/process_cpu_clocks.hpp>
 #include <cmath>
 
 using namespace boost::chrono;
 
+namespace ex
+{
+    template<class Rep, class Period>
+    void sleep_for(const duration<Rep, Period>& d)
+    {
+      typedef high_resolution_clock Clock;
+      typename Clock::time_point go =
+          Clock::now() + d;
+      while (Clock::now() < go)
+      {
+      }
+    }
+}
+
 int f1(long j)
 {
-  simple_stopwatch<> sw;
+  simple_stopwatch<process_cpu_clock> sw;
 
   for ( long i = 0; i < j; ++i )
     std::sqrt( 123.456L );  // burn some time
+  ex::sleep_for(milliseconds(100));
 
   std::cout << "f1("<< j <<") Elapsed time: " << sw.elapsed() << std::endl;
   return 0;
 }
 int main()
 {
-  simple_stopwatch<> sw;
+  simple_stopwatch<process_cpu_clock> sw;
 
   f1(1000);
   f1(2000);
   f1(3000);
-  std::cout << "main() Elapsed time: " << sw.elapsed() << std::endl;
+  std::cout << "main() Elapsed time: " << duration_cast<duration<process_times<double>,boost::ratio<1> > >(sw.elapsed()) << std::endl;
+  std::cout << "main() Elapsed time: " << duration_cast<duration<process_times<nanoseconds::rep>,boost::milli> >(sw.elapsed()) << std::endl;
+  //std::cout << "main() Elapsed time: " << sw.elapsed() << std::endl;
   return 0;
 }
Modified: trunk/libs/chrono/example/stopwatch_reporter_example.cpp
==============================================================================
--- trunk/libs/chrono/example/stopwatch_reporter_example.cpp	(original)
+++ trunk/libs/chrono/example/stopwatch_reporter_example.cpp	2011-09-22 17:53:25 EDT (Thu, 22 Sep 2011)
@@ -15,19 +15,27 @@
 
 int f1(long j)
 {
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   stopwatch_reporter<simple_stopwatch<> > sw;
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
 
   for ( long i = 0; i < j; ++i )
     std::sqrt( 123.456L );  // burn some time
 
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   return 0;
 }
 int main()
 {
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   stopwatch_reporter<simple_stopwatch<> > sw;
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
 
   f1(1000);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   f1(2000);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   f1(3000);
+  std::cout << __FILE__ << "[" << __LINE__ << "]" << std::endl;
   return 0;
 }