C/C++写得一个计时器用于检查程序的处理数据性能

一般设计C/C++程序需要每秒能处理多少的数据,因此可以做一个简单的计时器来计时,代码如下:

[cpp] view
plain
copy

  1. #ifndef _TIMER_H_
  2. #define _TIMER_H_
  3. #include <string>
  4. #include <sys/time.h>
  5. using namespace std;
  6. class Timer{
  7. private:
  8. timeval tstart;
  9. timeval tend;
  10. unsigned count;
  11. unsigned print_count;
  12. public:
  13. Timer():count(0),print_count(10000){
  14. }
  15. Timer(int pc):count(0),print_count(pc){
  16. }
  17. void add(){
  18. count++;
  19. if(count % print_count == 0){
  20. end();
  21. begin();
  22. }
  23. }
  24. void begin(){
  25. gettimeofday(&tstart, NULL);
  26. }
  27. void end(){
  28. gettimeofday(&tend, NULL);
  29. double linStart = ((double)tstart.tv_sec * 1000000 + (double)tstart.tv_usec);   //unit S
  30. double linEnd = ((double)tend.tv_sec * 1000000 + (double)tend.tv_usec);         //unit S
  31. double delta = (linEnd-linStart)/1000000;                                       //second
  32. printf("Timer:%d %d %f %f/n", print_count,count,delta,print_count/delta);
  33. }
  34. };
  35. #endif /*_TIMER_H_*/

调用方式如下:

[cpp] view
plain
copy

  1. Timer timer(10000); //多少条数据打印一次
  2. timer.begin();      //开始计时
  3. for(;;){
  4. timer.add();        //递增,达到打印数量时打印
  5. }
  6. timer.end();        //最后打印一次
时间: 2024-10-15 10:19:03

C/C++写得一个计时器用于检查程序的处理数据性能的相关文章

C# 写的一个生成随机汉语名字的小程序

最近因为要做数据库相关的测试,频繁使用到测试数据,手动添加太过于麻烦,而且复用性太差,因此干脆花了点时间写了一个生成随机姓名和相关数据的类,贴在这里,有需用的同志们可以参考一下.代码本身质量不好,也不算规范,各取所需莫要取笑-.- public class GetRandomName { private static string firstName = @"赵,钱,孙,李,周,吴,郑,王,冯,陈,褚,卫,蒋, 沈,韩,杨,朱,秦,尤,许,何,吕,施,张,孔,曹,严,华,金,魏,陶,姜, 戚,谢

为数据挖掘小组写的一个用于造数据的小程序

最近有个数据挖掘的项目,要求在文本里面写入随机字母并且要1000W个 于是就写了个程序用来造数据并记录一下 程序写的时候遇到的问题 1 未考虑内存溢出的情况,大批量的把数据写入导致内存溢出 以后需要谨慎对待 目前完整版 package test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import org.apache.commons.io.FileUtils; import org

我写的一个ExcelHelper通用类,可用于读取或生成数据

读取或生成EXCEL数据的方法有很多,一般常见的有: 1.通过OFFICE EXCEL组件,优点:读取与生成EXCEL文件方便,缺点:服务器上必须安装OFFICE软件,且进程无法及时释放 2.通过第三方组件(比如:NPOI),优点:无需安装OFFICE软件,缺点:需要引入第三方组件,当然这个还是比较强的 3.通过把EXCEL当成数据库,连接后运用SQL语句读取,写入的话就自行拼接成HTML表格,优点:无需另外的组件,缺点:需要会SQL及拼接HTML表格较麻烦: 三种方法我都有用过,若开发BS网站

此地址使用了一个通常用于网络浏览以外的端口。出于安全原因,Firefox 取消了该请求。

FirFox打开80以外的端口,会弹出以下提示: "此地址使用了一个通常用于网络浏览以外的端口.出于安全原因,Firefox 取消了该请求.".经网上搜索,解决方法如下: 在Firefox地址栏输入about:config,然后在右键新建一个字符串键network.security.ports.banned.override,将需访问网站的端口号添加到,值就是那个端口号即可. 如有多个,就半角逗号隔开,例:81,88,98 在能保证安全的前提下,还简化成这样写0-65535.这样,就可

《Effective C 》资源管理:条款25--考虑写出一个不抛出异常的swap函数

条款25考虑写出一个不抛出异常的swap函数 条款25:考虑写出一个不抛出异常的swap函数 swap是STL中的标准函数,用于交换两个对象的数值.后来swap成为异常安全编程(exception-safe programming,条款29)的脊柱,也是实现自我赋值(条款11)的一个常见机制.swap的实现如下: namespace std{ template<typename T> void swap(T& a, T& b) { T temp(a); a=b; b=temp;

用TX-1C的开发板写了一个简易的计算器

前不久看完了矩阵键盘和数码管的应用,自己动手花了一天时间写了一个简单的计算器 . 下面贴上源代码,大家可以测试一下. 上面4*4的矩阵键盘,作用分别是: 1 2 3 + 4 5 6 — 7 8 9 * on/c 0 = / 其中矩阵键盘的部分基本是照着书本的代码改的,然后自己做了部分修改. 由于是直接用 int 变量做的计算,而如果用 long 变量的话又要用到大数的运算,所以只能计算小于65536的数. 计算的步骤是这样的: (主操作数)(操作符)(被操作数)(=) //main.c #inc

利用html5的本地存储写的一个购物车

好久没有写博客园了,很多知识没有记录下来:可惜: 这几天在开发微信,也写了一个订餐平台的微网站,里面需要写一个购物车: 这里主要是把商品的部分信息以json格式保存在sessionstorage中,还有商店信息也是: 以json格式保存有什么好处呢,轻量级的传输,大概是这样吧!另外,如果我们把商品信息分开存储,就会导致有多条的sessionstorage项,那以后实现在两家商店同时购物的话,就不可能区分每家商店的商品了: 如果代码是自己写的,就有版权,这么说.对吧,是在软件工程师书上看到的: 不

(原创)多系统间需要对接,我写了一个接口框架。实用性非常强,写出来大家交流。需要的可以直接搬过去用。(第1篇)

业务是这样:有个手机app,在ios或者android上开发的,他需要访问服务器数据.我在服务器上,做了一个接口,专门开放一些数据给app去用. 我写的接口优势:我写的这个接口,全部是面向对象结构,代码简单而非常好用,极易扩展.可读性很强,容错性高. 个人建议有需要的同学可以直接拿去用到项目中..我会一步步讲他的制作方法. 第1步,创建一个工程,在工程中,创建一个网站,以及一个业务操作类库.如下图: 上图是网站. 上图是类库 第2步,创建几个根类.cs文件.如上图,创建:Post.cs文件:用于

去年某比赛写的一个策划(一)

项目目的: 我们主题营销项目的目的是 1)推广YYY品牌, 2)含沙射影打击竞争对手品牌 3)针对目前正在如火如荼的XXXX大战,给公司助力 . 项目分三阶段 1.第一阶段 1) 项目主角:AZ 环境:星际安全大厦. 反派角色:幻影旅团(名称出自<全职猎人>),成员为破坏宇宙和平的反动黑客分子, 主要矛盾: AZ负责维护整个宇宙星际的安全 幻影旅团的破坏分子们(参考威震天等)没事就破坏宇宙和平人类安全 2)第一阶段任务 战队负责,制作 AZ及星际安全大厦和幻影旅团的飞船,飞船上部透明可以看见幻