According to the DEC Pascal Language Reference Manual:
" 8.21 CLOCK Function
The CLOCK function returns an integer value indicating the
amount of central processor time (in milliseconds) used by
the current process. This function does not have a parame-
ter list. The result of CLOCK includes the amount of central
processor time allocated to all previously executed images."
That being the case, the value is most likely taken from the system
clock which is incremented at 10ms intervals - hence the granularity
will be 10ms. A simple program seems to support this:
PROGRAM CheckClock(OUTPUT);
VAR LastTime,NextTime : INTEGER;
BEGIN
LastTime:=CLOCK;
REPEAT
NextTime:=CLOCK;
UNTIL LastTime <> NextTime;
WriteLn('LastTime = ',LastTime,' NextTime = ',NextTime);
END.
$ run checkclock
LastTime = 3495890 NextTime = 3495900
Note however that the granularity may vary in future as OpenVMS is capable
of expressing times to an accuracy of 100ns.