测试函数运行时间
来源:互联网 发布:社交媒体网络安全问题 编辑:程序博客网 时间:2024/05/18 04:50
如何知道函数运行需要多长时间呢?头文件ctime里面提供了一个函数: clock_t clock();//# define long clock_t 该函数返回的是从程序开始运行到调用clock函数时所打的点数, 即clock tick(时钟打点); 有一个常数CLK_TCK,是机器时钟每秒所走的时钟打点数,是这样定义 的,//#define CLK_TCK CLOCKS_PER_SEC //# define CLOCKS_PER_SEC 1000 所以,定义两个clock的变量Begin,End;然后在要测试的函数前后分别调 用clock函数就可以得出时钟打点数,再除以CLK_TCK就得到时间了,代码如下:
# include<iostream># include<ctime>using namespace std;clock_t Begin, End;double duration;//typedef long clock_t# define N 10000void fun1(int);void fun2(int);int main(){ Begin = clock();//开始计时 //====================这里写要测试的代码=================== fun1(100); //========================================================= End = clock();//结束计时 duration = double(End - Begin)/CLK_TCK;//duration就是运行函数所打的 //点数,CLK_TCK是每秒所打点数 cout << "tick=" << double(End - Begin) << endl; cout << "duration=" << duration << endl; return 0;}void fun1(int n)//普通输出{ for (int i = 0; i <= n; i++) cout << i << endl;}void fun2(int n)//递归{ if (n) { fun2(n - 1); cout << n << endl; } else cout << 0 << endl;}
这两个函数都是输出0到n,如图
递归虽然时间复杂度较小,但是却是非常耗费空间的,因为它要一层一层展开,知道函数执行完毕,这是很恐怖的,比如N设为十万,百万,等等,这时系统空间不够用了,自然就会崩溃!
因为函数1占用空间非常小,所以虽然时间慢了点,但还是可以执行
看,这里直接就崩溃了
0 0
- 测试函数运行时间
- 测试函数运行时间
- 一个测试运行时间的函数
- VC程序运行时间的测试函数
- C语言函数运行时间测试
- VC程序运行时间测试函数
- VC程序运行时间的测试函数
- C语言函数运行时间测试
- VC程序运行时间测试函数
- 如何测试一个函数的运行时间
- Unity3D之测试函数运行时间
- 增加测试函数计算排序函数运行时间
- MATLAB中测试程序运行时间的函数
- MATLAB中测试程序运行时间的函数
- MATLAB中测试程序运行时间的函数
- MATLAB中测试程序运行时间的函数
- oprofile 使用步骤 测试程序中各函数运行时间
- CCS 4.0 利用profile测试函数运行时间
- 游戏开发入门03
- Java web图片验证功能实现二
- iscsi endless conn error investigation
- android studio ndk生成h头文件(找不到类的问题)
- jquery3.0源码解读(三)Selector
- 测试函数运行时间
- 第三方apk内置因签名导致SystemUI未启动启动问题案例分析
- 排序算法:插入 冒泡 快速排序
- 关于时间格式yyyy-mm-dd 格式在ie8返回NAN问题
- MySql免安装版配置简介
- Pyqt5系列(四)-基本界面组件之Dialog(2)
- git码云配置web hook钩子实现自动部署,git权限等问题,LAMP
- Eclipse中tomcat插件配置
- 浅谈UML学习笔记之类图