

AR# 56840

Vivado - What is the difference between CPU and elapsed time?


Vivado reports CPU and elapsed time for each phase of a command. For example:

Time (s): cpu = 00:01:31 ; elapsed = 00:01:16 . Memory (MB): peak = 1939.242 ; gain = 173.531
Phase 1.9.1 Place Init Design | Checksum: 12433edc9

What's the difference between CPU and elapsed time?


CPU time is the time for which the CPU was busy executing the task. It does not take into account the time spent in waiting for I/O (disk IO or network I/O). Since I/O operations, such as reading files from disk, are performed by the OS, these operations may involve a noticeable amount of time in waiting for I/O subsystems to complete their operations. This waiting time will be included in the elapsed time, but not CPU time. Hence CPU time is usually less than the elapsed time.

But in certain cases, the CPU time may be more than the elapsed time! When multiple threads are used on a multi-processor system or a multi-core system, more than one CPU may be used to complete a task. In this case, the CPU time may be more than the elapsed time.
AR# 56840
Date 09/09/2013
Status Active
Type General Article
  • Vivado Design Suite