DSP学习(6)—— CCS5.5测试代码运行时间

DSP学习(6)—— CCS5.5测试代码运行时间



前言

文章参考:https://jingyan.baidu.com/article/1612d5009c004ae20e1eee21.html

在CCS程序编译中,有时需要检查某个函数或代码的运行时间,这儿演示了如何查看的方法。


例如程序中有如下代码,要检查这段程序的运行时间;
在这里插入图片描述

法一:

1. 先对程序编译,然后debug,在要测试的代码段设置断点;

2. 选择Run——Clock——Setup, 选择手动reset

在这里插入图片描述

3. 程序运行后,点击“Run——Clock——Enable”,这样,在编译器右下角或者左下角会出现时钟标志;

在这里插入图片描述
在这里插入图片描述

4. 点击运行,光标到下图位置,并在右下角显示时钟值;

在这里插入图片描述

5. 点击“Run——Clock——Reset”,将时钟时间复位为0;因为这个时候的时钟值表示的是从程序启动到这个断点运行的周期数,将其复位后继续运行到下一个断点正好运行了我们所需要查看时间的整个函数,显示时间为22919个时钟周期。

在这里插入图片描述

6. 要知道具体的时间还要去查看CPU时钟频率。打开工程.cfg文件,进入Runtime设置,查看CPU时钟频率,周期数/时钟频率即为运行时间。

在这里插入图片描述

法二:C语言 计算程序运行时间(精确到毫秒/微秒)

转自:链接

精确到微秒时间

#include<stdio.h>
#include <windows.h>
int main() {
	int a[10002];
	int i = 0;
	double run_time;
	_LARGE_INTEGER time_start;	//开始时间
	_LARGE_INTEGER time_over;	//结束时间
	double dqFreq;		//计时器频率
	LARGE_INTEGER f;	//计时器频率
	QueryPerformanceFrequency(&f);
	dqFreq=(double)f.QuadPart;
	QueryPerformanceCounter(&time_start);	//计时开始
	for( i = 1; i <= 10000; i++)a[i]=i;	//要计时的程序
	QueryPerformanceCounter(&time_over);	//计时结束
	run_time=1000000*(time_over.QuadPart-time_start.QuadPart)/dqFreq;
	//乘以1000000把单位由秒化为微秒,精度为1000 000/(cpu主频)微秒
	printf("\nrun_time:%fus\n",run_time);
	return 0;
}

精确到毫秒时间

#include<stdio.h>
#include <stdlib.h>//用到rand()函数
#include<time.h>   //用到clock()函数
int main() {
	int begintime,endtime;
	int i = 0;
	int a[1002];
	begintime=clock();	//计时开始
	for( i = 1; i <= 1000; i++){//要计时的程序
		a[i] = rand()%200-100;//产生-100到+100之间的随机数
		printf("  %d",a[i]);
	}
	endtime = clock();	//计时结束
	printf("\n\nRunning Time:%dms\n", endtime-begintime);
	return 0;
}
  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值