]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/benchmarks/bench.cpp
Include <fcntl.h> from a header using fcntl().
[wxWidgets.git] / tests / benchmarks / bench.cpp
index 04723a65b7838182eda47be027e88f125665ab3a..5c058e418e38091f6ba897e3a39cd2fd1ce17a6f 100644 (file)
@@ -5,7 +5,7 @@
 // Created:     2008-07-19
 // RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 #include "wx/cmdline.h"
 #include "wx/stopwatch.h"
 
+#if wxUSE_GUI
+    #include "wx/frame.h"
+#endif
+
 #include "bench.h"
 
 // ----------------------------------------------------------------------------
@@ -254,8 +258,8 @@ int BenchApp::OnRun()
         long timeMin = LONG_MAX,
              timeMax = 0,
              timeTotal = 0;
-        bool ok = true;
-        for ( long a = 0; a < m_avgCount; a++ )
+        bool ok = func->Init();
+        for ( long a = 0; ok && a < m_avgCount; a++ )
         {
             wxStopWatch sw;
             for ( long n = 0; n < m_numRuns && ok; n++ )
@@ -265,9 +269,6 @@ int BenchApp::OnRun()
 
             sw.Pause();
 
-            if ( !ok )
-                break;
-
             const long t = sw.Time();
             if ( t < timeMin )
                 timeMin = t;
@@ -276,6 +277,8 @@ int BenchApp::OnRun()
             timeTotal += t;
         }
 
+        func->Done();
+
         if ( !ok )
         {
             wxPrintf("ERROR\n");
@@ -295,6 +298,8 @@ int BenchApp::OnRun()
             wxPrintf("%.2f avg (min=%ld, max=%ld)\n",
                      (float)timeTotal / times, timeMin, timeMax);
         }
+
+        fflush(stdout);
     }
 
     return rc;