C语言 | 分享一种测试C语言程序块执行时间的方法

1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。关注微信公众号【嵌入式大杂烩】,回复1024,即可免费获取!

在程序设计中,有些问题可能有不同地解决方法,对应的,也就编写出不同的程序。那么,如何衡量各个算法之间的好坏呢?每个算法的衡量需要综合很多方便,比如运行时间上,或者所占用内存空间上等。

这篇笔记中,我们关注的是运行时间。对于运行时间(专业一点的词就是时间复杂度),通常我们可以粗略地通过循环体的循环次数来判断。

此处,我们通过一小段程序测试我们程序块的运行时间(Windows平台下)。测试代码如下:

#include <stdio.h>
#include <time.h>   // 用到clock()函数

int main(void) 
{
	int StartTime = 0, EndTime = 0;
	int Sum = 0;
	int i = 0;
	StartTime = clock();	// 计时开始
	/* Start--要测试地程序 */
	for (i = 0; i < 100; i++)
	{
		printf("%d ", i);
	}
	/* End */
	EndTime = clock();	 // 计时结束
	printf("\n\nRunning Time:%dms\n", EndTime-StartTime);
	
	return 0;
}

程序执行结果为:
在这里插入图片描述

我们运用time.h头文件里的clock()函数可获取当前的时间戳,我们在需要测试的程序块前后各获取一次时间戳,然后用后一次时间戳减去前一次时间戳就可得到该程序块的执行时间。当然,这也只是得到粗略的执行时间,因为只能精确到ms。


我的微信公众号:嵌入式大杂烩

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式大杂烩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值