计算代码段的运行时间

计算代码段的运行时间,这段代码用得太多了,决定将其封装成两个宏,方便以后使用。

代码很简单,就不解释了。

#include <stdio.h>
#include <sys/time.h>

//计时器开始,
//使用时,要将要计时的代码段放入TIMER_START和TIMER_STOP之间,详情请看测试例子
//加入do{ }while(0)是为了尽量减少命令冲突
#define TIMER_START()     do      {           struct timeval timerout_start, timerout_end, timerout_spend;           gettimeofday(&timerout_start, NULL);

//计时器结束,将参数res设为代码段的耗时,单位是秒
#define TIMER_STOP(res)         gettimeofday(&timerout_end, NULL);           timersub(&timerout_end, &timerout_start, &timerout_spend);         res = timerout_spend.tv_sec + (timerout_spend.tv_usec / 1.0e6);       } while (0);

//测试例子
int main()
{
    double ddd;
    TIMER_START();
    sleep(1);
    TIMER_STOP(ddd);
    printf("speed time: %lfs\n", ddd);

    TIMER_START();
    sleep(3);
    TIMER_STOP(ddd);
    printf("speed time: %lfs\n", ddd);

    return 0;
}
时间: 2024-10-03 09:23:18

计算代码段的运行时间的相关文章

计算代码段的执行时间

计算代码段的执行时间,这段代码用得太多了.决定将其封装成两个宏,方便以后使用. 代码非常easy,就不解释了. #include <stdio.h> #include <sys/time.h> //计时器開始, //使用时,要将要计时的代码段放入TIMER_START和TIMER_STOP之间.详情请看測试样例 //增加do{ }while(0)是为了尽量降低命令冲突 #define TIMER_START() do { struct timeval timerout_start,

C#计算一段程序运行时间的三种方法

第一种方法利用System.DateTime.Now static void SubTest() { DateTime beforDT = System.DateTime.Now; //耗时巨大的代码 DateTime afterDT = System.DateTime.Now; TimeSpan ts = afterDT.Subtract(beforDT); Console.WriteLine("DateTime总共花费{0}ms.", ts.TotalMilliseconds);

datatime来计算代码段运行时长

小知识点:编程中一般都是先乘后除,这样结果更为精确 先定义 DataTime startTime = DataTime.Now; 中间是运行代码 最后TimeSpan ts = DataTime.Now - starttime; 运行后的目前时间减去运行前的时间,相减后是TimeSpan类型 TimeSpan有个属性TotalSeconds 表示耗用的总秒数.

Objective-C 计算代码运行时间

转自:http://www.isaced.com/post-213.html Objective-C 计算代码运行时间 JUN 25 今天看到一篇关于iOS应用性能优化的文章,其中提到计算代码的运行时间,觉得非常有用,值得收藏.不过在模拟器和真机上是有差异的,以此方法观察程序运行状态,提高效率. 第一种:(最简单的NSDate) NSDate* tmpStartData = [NSDate date]; //You code here... double deltaTime = [[NSDate

用GetTickCount()计算一段代码执行耗费的时间的小例子

var aNow,aThen,aTime:Longint; begin aThen := GetTickCount(); Sleep(1000);//代码段 aNow := GetTickCount(); aTime := aNow-aThen; ShowMessage(IntToStr(a)); end; 用GetTickCount()计算一段代码执行耗费的时间的小例子,布布扣,bubuko.com

Java计算两个程序运行时间

一.获取系统当前时间 long startTime = System.currentTimeMillis(); //获取开始时间 doSomething(); //测试的代码段 long endTime = System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间 二.以纳秒为单位计算 // 第二种是以纳秒

实用的JS代码段(表单篇)

整理了下比较实用的Javascript代码段,完整的代码参考 1 多个window.onload方法 由于onload方法时在页面加载完成后,自动调用的.因此被广泛的使用,但是弊端是只能实用onload执行一个方法.下面代码段,可以保证多个方法在Onload时执行: function addLoadEvent(func){ var oldonload = window.onload; if(typeof window.onload != 'function'){ window.onload =

代码段中存放数据

1.前面我们写的程序中,只有一个代码段,我们先来在代码段中使用数据,看看和单独一个数据段存放数据有什么差别. 考虑这样一个问题,编程计算以下8个数据的和,结果存放在ax寄存器中: 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H 我们希望循环进行累加,所以要将数据存放在一个连续内存当中,如何将这些数据存储在一组地址连续的内存单元中呢?我们可以用指令一个一个将他们送入地址连续的内存单元,可是这样又存在一个问题,到哪里去找这段内存空间? 从规范的角度讲,

一致代码段和非一致代码段

最近在自己动手写操作系统,计算机其实是一个非常复杂的系统.其中包含了很多历史性的问题,让人感到生僻难懂.在CSDN上看到一篇关于一致代码段和非一致代码段的文章,非常好,收藏起来. 原文链接:http://blog.csdn.net/feijj2002_/article/details/4597174 之所以出现这个定义是因为系统要安全:内核要和用户程序分开..内核一定要安全.不能被用户程序干涉.但是有时候用户程序也需要读取内核的某些数据,怎么办呢?操作系统就引入了访问特权等级(0-3)的机制.