]> git.cworth.org Git - apitrace/commitdiff
Time scanning of the file and a few frame reads.
authorZack Rusin <zack@kde.org>
Fri, 2 Sep 2011 03:41:57 +0000 (23:41 -0400)
committerZack Rusin <zack@kde.org>
Fri, 2 Sep 2011 03:41:57 +0000 (23:41 -0400)
loadertest.cpp

index 4063e760558cb34202c8ecbebcd496bbc6ea61e5..1b560a30e4add682525e47b83b963eccd0cbc6a6 100644 (file)
@@ -1,4 +1,5 @@
 #include "trace_loader.hpp"
+#include "os.hpp"
 
 #include <iostream>
 
@@ -8,11 +9,16 @@ int main(int argc, char **argv)
 
     for (i = 1; i < argc; ++i) {
         Trace::Loader loader;
+        const double msecsInSec = 1000000;
 
+        long long t1 = OS::GetTime();
         if (!loader.open(argv[i])) {
             std::cerr << "error: failed to open " << argv[i] << "\n";
             return 1;
         }
+        long long t2 = OS::GetTime();
+        std::cout << "Time to scan file = "<< (t2 - t1)/msecsInSec
+                  << " secs "<<std::endl;
 
         std::cout << "Number of frames = "
                   << loader.numberOfFrames()
@@ -26,15 +32,36 @@ int main(int argc, char **argv)
                   << loader.numberOfCallsInFrame(lastFrame)
                   << std::endl;
 
-
+        t1 = OS::GetTime();
         std::vector<Trace::Call*> frame = loader.frame(
-                    loader.numberOfFrames()/2);
-        std::vector<Trace::Call*>::const_iterator itr;
-        for (itr = frame.begin(); itr != frame.end(); ++itr) {
-           (*itr)->dump(std::cout, true);
-        }
-    }
+            loader.numberOfFrames()/2);
+        t2 = OS::GetTime();
+        std::cout << "Time to fetch a frame size "
+                  << frame.size()
+                  << " is = "
+                  << (t2 - t1)/msecsInSec
+                  << " secs "<<std::endl;
 
+        t1 = OS::GetTime();
+        frame = loader.frame(
+            0);
+        t2 = OS::GetTime();
+        std::cout << "Time to fetch a frame size "
+                  << frame.size()
+                  << " is = "
+                  << (t2 - t1)/msecsInSec
+                  << " secs "<<std::endl;
+
+        t1 = OS::GetTime();
+        frame = loader.frame(loader.numberOfFrames() - 1);
+        t2 = OS::GetTime();
+        std::cout << "Time to fetch a frame size "
+                  << frame.size()
+                  << " is = "
+                  << (t2 - t1)/msecsInSec
+                  << " secs "<<std::endl;
+
+    }
 
     return 0;
 }