]> git.cworth.org Git - apitrace/blob - loadertest.cpp
Merge remote-tracking branch 'origin/master' into on-demand-loading
[apitrace] / loadertest.cpp
1 #include "trace_loader.hpp"
2 #include "os.hpp"
3
4 #include <iostream>
5
6 int main(int argc, char **argv)
7 {
8     int i;
9
10     for (i = 1; i < argc; ++i) {
11         Trace::Loader loader;
12         const double msecsInSec = 1000000;
13
14         long long t1 = OS::GetTime();
15         if (!loader.open(argv[i])) {
16             std::cerr << "error: failed to open " << argv[i] << "\n";
17             return 1;
18         }
19         long long t2 = OS::GetTime();
20         std::cout << "Time to scan file = "<< (t2 - t1)/msecsInSec
21                   << " secs "<<std::endl;
22
23         std::cout << "Number of frames = "
24                   << loader.numberOfFrames()
25                   << std::endl;
26         std::cout << "Number of calls in frame 0 = "
27                   << loader.numberOfCallsInFrame(0)
28                   << std::endl;
29         int lastFrame = loader.numberOfFrames() - 1;
30         std::cout << "Number of calls in frame "
31                   << lastFrame << " = "
32                   << loader.numberOfCallsInFrame(lastFrame)
33                   << std::endl;
34
35         t1 = OS::GetTime();
36         std::vector<Trace::Call*> frame = loader.frame(
37             loader.numberOfFrames()/2);
38         t2 = OS::GetTime();
39         std::cout << "Time to fetch a frame size "
40                   << frame.size()
41                   << " is = "
42                   << (t2 - t1)/msecsInSec
43                   << " secs "<<std::endl;
44
45         t1 = OS::GetTime();
46         frame = loader.frame(
47             0);
48         t2 = OS::GetTime();
49         std::cout << "Time to fetch a frame size "
50                   << frame.size()
51                   << " is = "
52                   << (t2 - t1)/msecsInSec
53                   << " secs "<<std::endl;
54
55         t1 = OS::GetTime();
56         frame = loader.frame(loader.numberOfFrames() - 1);
57         t2 = OS::GetTime();
58         std::cout << "Time to fetch a frame size "
59                   << frame.size()
60                   << " is = "
61                   << (t2 - t1)/msecsInSec
62                   << " secs "<<std::endl;
63
64     }
65
66     return 0;
67 }
68