如何在 Linux Shell 上查找命令/程序所花费的时间?
我们已经讨论了一种通过 C 库查找函数所用时间的方法。如果我们在 Linux 上,那么很容易找到程序/命令所花费的时间。
为此,我们可以使用time命令。所用时间以三种形式显示。
真实:程序/命令所花费的总端到端时间
用户:在用户模式下花费的时间。
sys:在内核模式下花费的时间
一个命令示例(ls -l 花费的时间):
$ time ls -l
The above command runs "ls -l" and shows
contents of current directory followed by
the time taken by command "ls -l".
程序示例(fib(30) 花费的时间):
让我们考虑下面的程序。
#include
int fib(int n)
{
if (n <= 1)
return n;
return fib(n-1) + fib(n-2);
}
int main ()
{
printf("Fibonacci Number is %d", fib(30));
return 0;
}
Let we save above program as fib.c.
// Compiling above program on shell
~$ gcc fib.c
// Running the generated executable with time
~$ time ./a.out
Fibonacci Number is 832040
real 0m0.017s
user 0m0.017s
sys 0m0.000s
Note: 0.017 seconds (shown with real) is total
time taken by program.