获取程序运行时间,对程序性能进行度量。
- 一
#include<time.h>
double start = clock();
代码段/system(“程序名.exe”);(仅对于Dos)
double end = clock();
double time=(double)((end - begin)) / CLOCKS_PER_SEC *1000; //ms
- 二
#include<windows.h>
DWORD start_time=GetTickCount();
代码段/system(“程序名.exe”);(仅对于Dos)
DWORD end_time=GetTickCount();
DWORD time = end_time-start_time;//ms
- 三
linux中
time ./a.out
real 0m0.009s
user 0m0.002s
sys 0m0.007s
输出的信息分别显示了该命令所花费的real时间、user时间和sys时间。
real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。
user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。
sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。