time: Accuracy

 
 1.5 Accuracy
 ============
 
 The elapsed time is not collected atomically with the execution of the
 program; as a result, in bizarre circumstances (if the 'time' command
 gets stopped or swapped out in between when the program being timed
 exits and when 'time' calculates how long it took to run), it could be
 much larger than the actual execution time.
 
    When the running time of a command is very nearly zero, some values
 (e.g., the percentage of CPU used) may be reported as either zero (which
 is wrong) or a question mark.
 
    Most information shown by 'time' is derived from the 'wait3' system
 call.  The numbers are only as good as those returned by 'wait3'.  Many
 systems do not measure all of the resources that 'time' can report on;
 those resources are reported as zero.  The systems that measure most or
 all of the resources are based on 4.2 or 4.3BSD. Later BSD releases use
 different memory management code that measures fewer resources.
 
    On systems that do not have a 'wait3' call that returns status
 information, the 'times' system call is used instead.  It provides much
 less information than 'wait3', so on those systems 'time' reports most
 of the resources as zero.
 
    The '%I' and '%O' values are allegedly only "real" input and output
 and do not include those supplied by caching devices.  The meaning of
 "real" I/O reported by '%I' and '%O' may be muddled for workstations,
 especially diskless ones.