以文本方式输出函数执行时间相关信息
来源:互联网 发布:淘宝最美女模特 编辑:程序博客网 时间:2024/04/28 21:58
相应的封装类代码:
.h文件
#pragma once#include<iostream>#include <time.h>#include<fstream>using namespace std;class testTxtOutput{private://开始计时clock_t timeStart;//结束计时clock_t timeEnd;//该段程序这一次执行时间clock_t runTime;//该段程序这一次执行的总时间 clock_t sumTime;//平均执行时间 clock_t avgTime;//最大执行时间 clock_t maxTime;//统计执行帧的帧数 long countFrame;public://开始计时void openClocker(void);//结束计时void closeClocker();//作为用户接口完成整个文件的读写void writeToTxt(string funcName);//计算相应的时间void calculateTime();public:testTxtOutput(void);~testTxtOutput(void);};
.cpp文件
#include "StdAfx.h"#include "testTxtOutput.h"testTxtOutput::testTxtOutput(void):timeStart(0),timeEnd(0),runTime(0),sumTime(0),avgTime(0),maxTime(0),countFrame(0){}testTxtOutput::~testTxtOutput(void){}void testTxtOutput::openClocker(void){timeStart = 0;runTime = 0;timeEnd = 0;timeStart = clock();}void testTxtOutput::closeClocker(void){timeEnd = clock();}void testTxtOutput::writeToTxt(string funcName){string cloneFunc =funcName;funcName += ".txt";calculateTime();ofstream fout;fout.open(funcName,ofstream::out | ofstream::app);fout<<cloneFunc.c_str()<<":第"<<countFrame<<"帧执行"<<""<<"执行时间(ms):"<<runTime<<""<<"最大执行时间(ms):"<<maxTime<<""<<"平均执行时间(ms):"<<avgTime<<endl;}void testTxtOutput::calculateTime(){countFrame++;runTime = timeEnd - timeStart;sumTime += runTime;avgTime = sumTime/countFrame;maxTime = maxTime>runTime ? maxTime : runTime;}
main函数的调用:
// txtoutput.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include"testTxtOutput.h"int _tmain(int argc, _TCHAR* argv[]){testTxtOutput out;out.writeToTxt("yangjie");system("pause");return 0;}
用法说明:
在需要的多次测试时间的函数执行文件中,包含该.h文件,并创建一个全局的实例。在测试函数的前面调用openClocker(),在函数的后面调用closeClocker()和writeToTxt()函数。
- 以文本方式输出函数执行时间相关信息
- ubuntu以文本方式启动
- 变量类型,信息输出相关函数 var_dump var_export print_r
- 把文本信息以隐藏的方式添加到图片文件中
- 多功能文本输出函数
- CDC文本输出函数
- 文本操作相关函数
- 以文本流输出griview到客户端
- 打印信息输出函数
- 调试函数输出信息
- 输出职员的相关信息
- secureCRT 记录串口输出信息到文本
- android 输出信息到本地txt文本
- VC输出文本信息到调试器
- 输出js执行时间
- C#以图形方式输出Code128C条形码
- C#以图形方式输出Code128C条形码
- android 视频播放以 overlay 方式输出
- lua操作常用函数学习一
- AJAX在ASP.NET中的应用(四)——探寻UpdatePanel的工作原理
- JSP
- 浅析android锁屏开机绘制流程(基于android4.0源码分析)
- ABAP 取长文本实例
- 以文本方式输出函数执行时间相关信息
- spring 中事务的PROPAGATION_REQUIRED,Readonly的解释
- 周迅林志玲 女星登杂志都穿的是谁家的时装-
- OK6410按键驱动--Qt程序(改)亲测可以运行
- vmware中nat模式上网配置
- 常见Java面试题 :迭代(iteration)和递归(recursion)
- 霍占强老师上课相关知识点总结(上)(47)
- 算法--背包问题
- ImageSwitcher使用示例