||It has been suggested that this article be merged into Elapsed real time. (Discuss) Proposed since November 2014.|
|This article needs additional citations for verification. (March 2008) (Learn how and when to remove this template message)|
Wall-clock time, or wall time, is the human perception of the passage of time from the start to the completion of a task. In the context of a task being performed on a computer, wall-clock time is a measure of the real time that elapses from start to end, including time that passes due to programmed (artificial) delays or waiting for resources to become available. In other words, it is the difference between the time at which a task finishes and the time at which the task started.
The term is used rather than "real" time to avoid a naming conflict with real-time systems.
In computing, wall-clock time can also mean the actual time taken by a computer to complete a task. It is the sum of three terms: CPU time, I/O time, and the communication channel delay (e.g. if data are scattered on multiple machines). In contrast to CPU time, which measures only the time during which the processor is actively working on a certain task, wall time measures the total time for the process to complete. The difference between the two consists of time that passes due to programmed delays or waiting for resources to become available.
For programs executed in parallel, the CPU time will be the sum of CPU times devoted to the task by each CPU running it. In this case the wall time will be substantially reduced (it takes less perceived time to finish), whereas the total CPU time will remain equal to the one for serial execution (plus some overhead for parallelization).
Consider the example of a mathematical program that reports that it has used "CPU time 0m0.04s, Wall time 6m6.01s". This means that while the program was active for six minutes and six seconds, during that time the computer's processor spent only 4/100 of a second performing calculations for the program.
The term wall-clock time has also found widespread adoption in computer simulation, to distinguish between, first, the (often compressed or expanded) simulation time and, second, time as it passes for the user of the simulation tool.