VirtualBox

Changeset 5456 in vbox for trunk/src/VBox/Runtime/testcase


Ignore:
Timestamp:
Oct 24, 2007 1:04:51 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
25629
Message:

New RTTimeNanoTS/GIP code.

Location:
trunk/src/VBox/Runtime/testcase
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/testcase/tstTime-2.cpp

    r4071 r5456  
    1919*   Header Files                                                               *
    2020*******************************************************************************/
    21 #ifdef RT_OS_WINDOWS
    22 # include <Windows.h>
    23 
    24 #elif defined RT_OS_L4
    25 
    26 #else /* posix */
    27 # include <sys/time.h>
    28 #endif
    29 
    3021#include <iprt/time.h>
    3122#include <iprt/stream.h>
     
    3324#include <iprt/thread.h>
    3425#include <VBox/sup.h>
    35 
    36 DECLINLINE(uint64_t) OSNanoTS(void)
    37 {
    38 #ifdef RT_OS_WINDOWS
    39     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_L4
    44     /** @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 #endif
    54 }
    5526
    5627
     
    6132    int i;
    6233    RTR3Init();
    63 SUPInit();
    6434    RTPrintf("tstTime-2: TESTING...\n");
    6535
     
    6939     */
    7040
    71     OSNanoTS(); RTTimeNanoTS(); RTThreadYield();
     41    RTTimeSystemNanoTS(); RTTimeNanoTS(); RTThreadYield();
    7242    uint64_t u64RTStartTS = RTTimeNanoTS();
    73     uint64_t u64OSStartTS = OSNanoTS();
     43    uint64_t u64OSStartTS = RTTimeSystemNanoTS();
    7444#define NUMBER_OF_CALLS (100*_1M)
    7545
     
    7848
    7949    uint64_t u64RTElapsedTS = RTTimeNanoTS();
    80     uint64_t u64OSElapsedTS = OSNanoTS();
     50    uint64_t u64OSElapsedTS = RTTimeSystemNanoTS();
    8151    u64RTElapsedTS -= u64RTStartTS;
    8252    u64OSElapsedTS -= u64OSStartTS;
     
    9262                 u64OSElapsedTS, u64RTElapsedTS, u64OSElapsedTS - u64RTElapsedTS);
    9363
    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
    9770    if (!cErrors)
    9871        RTPrintf("tstTime-2: SUCCESS\n");
  • trunk/src/VBox/Runtime/testcase/tstTime.cpp

    r4071 r5456  
    1919*   Header Files                                                               *
    2020*******************************************************************************/
    21 #ifdef RT_OS_WINDOWS
    22 # include <Windows.h>
    23 
    24 #elif defined RT_OS_L4
    25 
    26 #else /* posix */
    27 # include <sys/time.h>
    28 #endif
    29 
    3021#include <iprt/time.h>
    3122#include <iprt/stream.h>
    32 #include <iprt/runtime.h>
     23#include <iprt/initterm.h>
    3324#include <iprt/thread.h>
    3425#include <VBox/sup.h>
    35 
    36 DECLINLINE(uint64_t) OSNanoTS(void)
    37 {
    38 #ifdef RT_OS_WINDOWS
    39     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_L4
    44     /** @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 #endif
    54 }
    55 
    5626
    5727
     
    6131    int i;
    6232    RTR3Init();
    63 SUPInit();
    6433    RTPrintf("tstTime: TESTING...\n");
    6534
     
    6938     */
    7039
    71     OSNanoTS(); RTTimeNanoTS(); RTThreadYield();
     40    RTTimeSystemNanoTS(); RTTimeNanoTS(); RTThreadYield();
    7241    uint64_t u64RTStartTS = RTTimeNanoTS();
    73     uint64_t u64OSStartTS = OSNanoTS();
     42    uint64_t u64OSStartTS = RTTimeSystemNanoTS();
    7443
    7544    uint64_t u64Prev = RTTimeNanoTS();
     
    10170    }
    10271
    103     OSNanoTS(); RTTimeNanoTS(); RTThreadYield();
     72    RTTimeSystemNanoTS(); RTTimeNanoTS(); RTThreadYield();
    10473    uint64_t u64RTElapsedTS = RTTimeNanoTS();
    105     uint64_t u64OSElapsedTS = OSNanoTS();
     74    uint64_t u64OSElapsedTS = RTTimeSystemNanoTS();
    10675    u64RTElapsedTS -= u64RTStartTS;
    10776    u64OSElapsedTS -= u64OSStartTS;
     
    11786                 u64OSElapsedTS, u64RTElapsedTS, u64OSElapsedTS - u64RTElapsedTS);
    11887
    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);
    12092    if (!cErrors)
    12193        RTPrintf("tstTime: SUCCESS\n");
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette