Author: ion Date: Wed Nov 29 10:31:25 2006 New Revision: 24961
URL: http://svn.reactos.org/svn/reactos?rev=24961&view=rev Log: - Test for High-Precision Timer (QueryPeformanceCounter). Verifies everything from the Win32 implementation to system call speed to HAL timer accuracy and functionality. Currently fails.
Added: trunk/reactos/ntoskrnl/tests/TestTimer.c
Added: trunk/reactos/ntoskrnl/tests/TestTimer.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/tests/TestTimer.c?... ============================================================================== --- trunk/reactos/ntoskrnl/tests/TestTimer.c (added) +++ trunk/reactos/ntoskrnl/tests/TestTimer.c Wed Nov 29 10:31:25 2006 @@ -1,0 +1,37 @@ +#include <stdio.h> +#include <conio.h> +#include <windows.h> + +void main ( int argc, char** argv, char** environ ) +{ + LARGE_INTEGER liFrequency; + LARGE_INTEGER liStartTime; + LARGE_INTEGER liCurrentTime; + + QueryPerformanceFrequency ( &liFrequency ); + printf ( "HIGH RESOLUTION PERFOMANCE COUNTER Frequency = %I64d CLOCKS IN SECOND\n", + liFrequency.QuadPart ); + + + if (liFrequency.QuadPart == 0) + { + printf("Your computer does not support High Resolution Performance counter\n"); + return; + } + + printf ( "Press <ENTER> to start test...\n" ); + getchar(); + + printf ( "\nPress any key to quit test\n\n" ); + QueryPerformanceCounter ( &liStartTime ); + for (;;) + { + QueryPerformanceCounter ( &liCurrentTime ); + printf("Elapsed Time : %8.6f mSec\r", + ((double)( (liCurrentTime.QuadPart - liStartTime.QuadPart)* (double)1000.0/(double)liFrequency.QuadPart )) ); + if (_kbhit()) + break; + } + + +}