Changeset 5456 in vbox for trunk/src/VBox/Runtime/testcase
- Timestamp:
- Oct 24, 2007 1:04:51 AM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 25629
- Location:
- trunk/src/VBox/Runtime/testcase
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/testcase/tstTime-2.cpp
r4071 r5456 19 19 * Header Files * 20 20 *******************************************************************************/ 21 #ifdef RT_OS_WINDOWS22 # include <Windows.h>23 24 #elif defined RT_OS_L425 26 #else /* posix */27 # include <sys/time.h>28 #endif29 30 21 #include <iprt/time.h> 31 22 #include <iprt/stream.h> … … 33 24 #include <iprt/thread.h> 34 25 #include <VBox/sup.h> 35 36 DECLINLINE(uint64_t) OSNanoTS(void)37 {38 #ifdef RT_OS_WINDOWS39 uint64_t u64; /* manual say larger integer, should be safe to assume it's the same. */40 GetSystemTimeAsFileTime((LPFILETIME)&u64);41 return u64 * 100;42 43 #elif defined RT_OS_L444 /** @todo fix a different timesource on l4. */45 return RTTimeNanoTS();46 47 #else /* posix */48 49 struct timeval tv;50 gettimeofday(&tv, NULL);51 return (uint64_t)tv.tv_sec * (uint64_t)(1000 * 1000 * 1000)52 + (uint64_t)(tv.tv_usec * 1000);53 #endif54 }55 26 56 27 … … 61 32 int i; 62 33 RTR3Init(); 63 SUPInit();64 34 RTPrintf("tstTime-2: TESTING...\n"); 65 35 … … 69 39 */ 70 40 71 OSNanoTS(); RTTimeNanoTS(); RTThreadYield();41 RTTimeSystemNanoTS(); RTTimeNanoTS(); RTThreadYield(); 72 42 uint64_t u64RTStartTS = RTTimeNanoTS(); 73 uint64_t u64OSStartTS = OSNanoTS();43 uint64_t u64OSStartTS = RTTimeSystemNanoTS(); 74 44 #define NUMBER_OF_CALLS (100*_1M) 75 45 … … 78 48 79 49 uint64_t u64RTElapsedTS = RTTimeNanoTS(); 80 uint64_t u64OSElapsedTS = OSNanoTS();50 uint64_t u64OSElapsedTS = RTTimeSystemNanoTS(); 81 51 u64RTElapsedTS -= u64RTStartTS; 82 52 u64OSElapsedTS -= u64OSStartTS; … … 92 62 u64OSElapsedTS, u64RTElapsedTS, u64OSElapsedTS - u64RTElapsedTS); 93 63 94 #if defined RT_OS_WINDOWS || defined RT_OS_LINUX 95 RTPrintf("tstTime-2: RTTime1nsSteps -> %u out of %u calls\n", RTTime1nsSteps(), NUMBER_OF_CALLS); 96 #endif 64 RTPrintf("tstTime-2: %u calls to RTTimeNanoTS\n", NUMBER_OF_CALLS); 65 RTPrintf("tstTime-2: RTTimeDbgSteps -> %u (%d ppt)\n", RTTimeDbgSteps(), ((uint64_t)RTTimeDbgSteps() * 1000) / NUMBER_OF_CALLS); 66 RTPrintf("tstTime-2: RTTimeDbgExpired -> %u (%d ppt)\n", RTTimeDbgExpired(), ((uint64_t)RTTimeDbgExpired() * 1000) / NUMBER_OF_CALLS); 67 RTPrintf("tstTime-2: RTTimeDbgBad -> %u (%d ppt)\n", RTTimeDbgBad(), ((uint64_t)RTTimeDbgBad() * 1000) / NUMBER_OF_CALLS); 68 RTPrintf("tstTime-2: RTTimeDbgRaces -> %u (%d ppt)\n", RTTimeDbgRaces(), ((uint64_t)RTTimeDbgRaces() * 1000) / NUMBER_OF_CALLS); 69 97 70 if (!cErrors) 98 71 RTPrintf("tstTime-2: SUCCESS\n"); -
trunk/src/VBox/Runtime/testcase/tstTime.cpp
r4071 r5456 19 19 * Header Files * 20 20 *******************************************************************************/ 21 #ifdef RT_OS_WINDOWS22 # include <Windows.h>23 24 #elif defined RT_OS_L425 26 #else /* posix */27 # include <sys/time.h>28 #endif29 30 21 #include <iprt/time.h> 31 22 #include <iprt/stream.h> 32 #include <iprt/ runtime.h>23 #include <iprt/initterm.h> 33 24 #include <iprt/thread.h> 34 25 #include <VBox/sup.h> 35 36 DECLINLINE(uint64_t) OSNanoTS(void)37 {38 #ifdef RT_OS_WINDOWS39 uint64_t u64; /* manual say larger integer, should be safe to assume it's the same. */40 GetSystemTimeAsFileTime((LPFILETIME)&u64);41 return u64 * 100;42 43 #elif defined RT_OS_L444 /** @todo fix a different timesource on l4. */45 return RTTimeNanoTS();46 47 #else /* posix */48 49 struct timeval tv;50 gettimeofday(&tv, NULL);51 return (uint64_t)tv.tv_sec * (uint64_t)(1000 * 1000 * 1000)52 + (uint64_t)(tv.tv_usec * 1000);53 #endif54 }55 56 26 57 27 … … 61 31 int i; 62 32 RTR3Init(); 63 SUPInit();64 33 RTPrintf("tstTime: TESTING...\n"); 65 34 … … 69 38 */ 70 39 71 OSNanoTS(); RTTimeNanoTS(); RTThreadYield();40 RTTimeSystemNanoTS(); RTTimeNanoTS(); RTThreadYield(); 72 41 uint64_t u64RTStartTS = RTTimeNanoTS(); 73 uint64_t u64OSStartTS = OSNanoTS();42 uint64_t u64OSStartTS = RTTimeSystemNanoTS(); 74 43 75 44 uint64_t u64Prev = RTTimeNanoTS(); … … 101 70 } 102 71 103 OSNanoTS(); RTTimeNanoTS(); RTThreadYield();72 RTTimeSystemNanoTS(); RTTimeNanoTS(); RTThreadYield(); 104 73 uint64_t u64RTElapsedTS = RTTimeNanoTS(); 105 uint64_t u64OSElapsedTS = OSNanoTS();74 uint64_t u64OSElapsedTS = RTTimeSystemNanoTS(); 106 75 u64RTElapsedTS -= u64RTStartTS; 107 76 u64OSElapsedTS -= u64OSStartTS; … … 117 86 u64OSElapsedTS, u64RTElapsedTS, u64OSElapsedTS - u64RTElapsedTS); 118 87 119 RTPrintf("RTTime1nsSteps -> %u (%d ppt)\n", RTTime1nsSteps(), (RTTime1nsSteps() * 1000) / i); 88 RTPrintf("RTTimeDbgSteps -> %u (%d ppt)\n", RTTimeDbgSteps(), ((uint64_t)RTTimeDbgSteps() * 1000) / i); 89 RTPrintf("RTTimeDbgExpired -> %u (%d ppt)\n", RTTimeDbgExpired(), ((uint64_t)RTTimeDbgExpired() * 1000) / i); 90 RTPrintf("RTTimeDbgBad -> %u (%d ppt)\n", RTTimeDbgBad(), ((uint64_t)RTTimeDbgBad() * 1000) / i); 91 RTPrintf("RTTimeDbgRaces -> %u (%d ppt)\n", RTTimeDbgRaces(), ((uint64_t)RTTimeDbgRaces() * 1000) / i); 120 92 if (!cErrors) 121 93 RTPrintf("tstTime: SUCCESS\n");
Note:
See TracChangeset
for help on using the changeset viewer.