本程序可以用于评估算法程序在实际运行过程中所消耗的时间。在程序运行之前获取一次系统的时间戳,在程序运行结束后再获取一次系统的时间戳,两次时间戳之差即为当前程序运行所花费的时间。
#include <stdio.h>
unsigned long getTimeStamp(void);
int main(int argc, char *argv[])
{
unsigned long timeStmp = getTimeStamp();
printf("timeStmp = %d\r\n", timeStmp);
timeStmp = getTimeStamp() - timeStmp;
printf("timeStmp = %d\r\n", timeStmp);
return 0;
}
// 获取CPU运行时间(ns级)
unsigned long getTimeStamp(void)
{
__asm _emit 0x0F;
__asm _emit 0x31;
}
运行结果如下:
timeStmp = -1220653657
timeStmp = 210279