计算代码段的执行时间

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

代码非常easy,就不解释了。

#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-11-06 20:32:15

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

计算代码段的运行时间

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

datatime来计算代码段运行时长

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

timeit模块 - 度量小段代码片的执行时间

官方文档: https://docs.python.org/2/library/timeit.html 源代码片: Lib/timeit.py 该模块提供了简单的方式来测量小段Python代码片.它有两种执行方式:命令行接口执行方式 和 Python程序代码可调的函数的方式. 该模块避免了很多常见的度量时间的陷进.可以参考由O'Reilly出版的Python Cookbook里面介绍算法章节. 1. 基本的例子 下面例子可以展示如果使用Command-Line Interface比较三种不同的表

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

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

c# 计算代码执行时间

System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 开始监视代码运行时间 // you code .... stopwatch.Stop(); // 停止监视 TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间 double hours = timespan.TotalHours; // 总小时 double minutes =

实用的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)的机制.

Java基础__慕课网学习(26):程序中判断某段程序执行时间的方法

精确度为毫秒ms:    1 //伪代码 2 3 long startTime=System.currentTimeMillis(); //获取开始时间 4 5 doSomeThing(); //测试的代码段 6 7 long endTime=System.currentTimeMillis(); //获取结束时间 8 9 System.out.println("程序运行时间: "+(end-start)+"ms"); 10 11 //伪代码 12 13 long