I'm trying to measure the execution time of a process that I call via the command line (i.e., I want to find out how long it takes to for the process to finish). Is there any command that I can add to the command calling the process that will achieve this?
7 Answers
Add time before the command you want to measure. For example: time ls.
The output will look like:
real 0m0.606s
user 0m0.000s
sys 0m0.002sExplanation on real, user and sys (from man time):
real: Elapsed real (wall clock) time used by the process, in seconds.user: Total number of CPU-seconds that the process used directly (in user mode), in seconds.sys: Total number of CPU-seconds used by the system on behalf of the process (in kernel mode), in seconds.
For a line-by-line delta measurement, try gnomon.
4It is a command line utility, a bit like moreutils's ts, to prepend timestamp information to the standard output of another command. Useful for long-running processes where you'd like a historical record of what's taking so long.
Piping anything to gnomon will prepend a timestamp to each line, indicating how long that line was the last line in the buffer--that is, how long it took the next line to appear. By default, gnomon will display the seconds elapsed between each line, but that is configurable.
You can use time:
time ls -R date +"%T" && cp -r ./file /destination/folder/here && date +"%T"Running this command in the terminal will give you the total time for coping a file
3Occasionally I find myself needing a stopwatch to count how long it takes for an action like my app booting, in which case many of the solutions here are not useful.
For this I like to use sw.
Install
wget -q -O - | sh -s -- -u Usage
sw - start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume] - start a stopwatch from the last saved start time (or current time if no last saved start time exists) - "-r" stands for --resume time -v command-v gives more information
1) Open bashrc file
gedit ~\.bashrc2) Find the following text:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] :\[\033[01;34m\]\w\[\033[00m\]\$ ' 3) And replace with:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\] [\d|\t]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 4) Restart terminal to check.