C/C++ 统计函数调用时间
来源:互联网 发布:淘宝禁售商品有哪些 编辑:程序博客网 时间:2024/05/18 01:45
写一个小程序来统计函数调用时间,简单明了直接看代码,有三个文件,FunTimer.h , FunTimer.cpp ,FunTimerMan.cpp 分别如下:
FunTimer.h文件
#ifndef _FUNTIMER_H#define _FUNTIMER_H#include <iostream>#include <sys/time.h>#include <string>using namespace std;class FunTimer{ public: FunTimer(); FunTimer(string funName); ~FunTimer(); private: string funName; timeval _start; timeval _end;};/**方法一#include <iostream>#include <ctime>#include <string>using namespace std;class FunTimer{public:FunTimer();FunTimer(string funName);~FunTimer();private: string funName;clock_t _start;clock_t _end;};*/#endif
FunTimer.cpp文件
#include "FunTimer.h"FunTimer::FunTimer(){gettimeofday(&_start,NULL);}FunTimer::FunTimer(string funName){ this->funName=funName;gettimeofday(&_start,NULL);}FunTimer::~FunTimer(){ gettimeofday(&_end,NULL);float timeuse = 1000000 * (_end.tv_sec - _start.tv_sec) + (_end.tv_usec - _start.tv_usec); timeuse /= 1000000; cout<<endl;cout<<this->funName<<":"<<timeuse <<endl;}/**方法一FunTimer::FunTimer(){_start=clock();}FunTimer::FunTimer(string funName){this->funName=funName; _start=clock();}FunTimer::~FunTimer(){_end=clock();cout<<this->funName<< (double)(_end - _start)/CLOCKS_PER_SEC <<endl;}*/
FunTimerMain.cpp文件 ,用于测试
#include <iostream>#include "FunTimer.h"using namespace std;void testPrintFun(){FunTimer mFunTimer(__FUNCTION__); for(int i=0;i<1000;i++) { cout<<" "; }}void testPrintFun2(){ FunTimer mFunTimer(__FUNCTION__); for(int i=0;i<2000;i++) { cout<<" "; }}int main(int argc, char* argv[]){FunTimer mFunTimer(__FUNCTION__);testPrintFun();testPrintFun2();/**clock_t start = clock(); testPrintFun();clock_t end = clock(); cout<<endl; cout<<(end-start)<<endl; */ return 0;}
测试方法:在函数的第一句加上FunTimer mFunTimer(__FUNCTION__); 即可
编译查看结果如下:
0 0
- C/C++ 统计函数调用时间
- c统计时间
- 【C++】利用析构统计函数运行时间
- C++Qt 统计运行时间
- 用于C/C++统计时间
- C/C++/Qt 统计运行时间
- C/C++/Qt 统计运行时间
- C/C++ 获取系统时间,系统延迟函数调用
- C语言中,时间调用处理的相关函数介绍
- 关于C语言时间获取函数调用的概念
- C时间函数集
- C时间处理函数
- C时间函数集
- c时间函数
- C语言时间函数
- C时间函数概述
- C时间函数
- c/c++时间函数
- OQL
- 强调句型
- 【总结】Effective java经验之谈,通用方法
- JSqlParser系列之二代码结构(转载)
- 开篇--印象仙剑
- C/C++ 统计函数调用时间
- CSS样式表的规则
- C++调用C函数与Extern "C"
- stm32:CT117E之LED篇
- 第一个c#程序
- [Hadoop]Hadoop上传本地文件到HDFS
- ERROR 1366 (HY000):Incorrect string value解决方案(亲测)
- 简单实现查看系统字节序
- 交换内容