![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: How can I compare two UTC times? (If I convert to internal time, and the times I want to compare are across a daylight savings time change, then will I get the correct answer?) Is the only option to use $NUMUTC and compare the individual fields? Also, on a related topic, what is the clock resolution of the most recent EV6 based alphas? Is VMS/Alpha still running w/ 10ms 'ticks' or does it now vary according to Alpha clock speed, as documented in various places. If it varies (and would then probably be less than 10ms, then are there any plans to increase the precision available from $NUMxxx since they only go down to 10ms. many thanks in advance, /tom The Answer is : As stated, comparing the results of a pair of sys$numutc system service calls would seem a reasonable approach. Alpha ticks occur at 1000 per second or more frequently -- this is a requirement of the Alpha Architecture. The retrieved system time and the ASCII format time operates with centisecond resolution on both OpenVMS VAX and OpenVMS Alpha. There are no plans to alter the 64-bit time format or the standard text format time, due to the adverse effects this would have on existing software. The Alpha Architecture requires that Alpha systems implement process and system cycle counters, which can be useful in certain environments. (rpcc, rscc) You will need to consult the Architecture manual for the format and use of the counter. An example of reading the process cycle counter (from C) follows: #include [c_asm.h] unsigned long cycles; cycles = asm("rpcc %v0;" "sll %v0, 32, %t1;" "addq %v0, %t1, %v0;" "srl %v0, 32, %v0"); Replace [ and ] with the equivilent angle brackets.
|