INFO: Documentation Supplement for clock()

Last reviewed: September 2, 1997
Article ID: Q49729

The information in this article applies to:
  • The C Run-time (CRT) included with: - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, 6.0ax - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft Visual C++ for Windows, versions 1.0, 1.5 - Microsoft Visual C++ 32-bit Edition, versions 1.0, 2.0, 2.1, 4.0, 5.0

SUMMARY

The clock() function is documented as telling how much processor time has been used by the calling process. This definition is misleading.

MORE INFORMATION

The clock() function returns a clock_t (long) value, which is the difference between the time field (for seconds) and millitm field (for milliseconds) in the structure that is returned from two calls to the ftime() function. The first call to ftime() is made within the startup code of the executing program, and the second call is made when the clock() function is explicitly called in your code.

Thus, the value returned by clock() is the number of CLK_TCKs (milliseconds) elapsed since the startup code was executed, or -1 if the function was unsuccessful.

NOTE: On most IBM PCs and compatibles, the clock speed is not fast enough to compute milliseconds, or indeed, hundredths of seconds. The ftime function calls interrupt 21, function 2Ch (under MS-DOS), which returns, among other information, the seconds in hundredths. The hundredths information is an estimation from the clock speed, which is approximately 18.2 ticks per second on most PCs. This hundredths value is multiplied by 10 to get the millisecond value.

Keywords          : CRTIss kbfasttip
Version           : MS-DOS:5.1,6.0,6.00a,6.00ax,7.0; WINDOWS:1.0,1.5; WINDOWS  NT:1.0,2.0,2.1,4.0,5.0
Platform          : MS-DOS NT WINDOWS
Issue type        : kbinfo


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 2, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.