精华内容
下载资源
问答
  • 如何才能获得程序的运行时间呢,下面我们就介绍一种方法。 这种方法基于gettimeofday()函数来实现,我们先来看一下代码: #include<stdio.h> #include<sys/time.h> void delay() { for(unsigned l...

          在编程时,在一些对时间要求比较高的情况,我们希望知道程序的运行需要用多长时间。如何才能获得程序的运行时间呢,下面我们就介绍一种方法。

         这种方法基于gettimeofday()函数来实现,我们先来看一下代码:

    #include<stdio.h>
    #include<sys/time.h>
    
    void delay()
    {
    	for(unsigned long i=0;i<0x0fffffff;i++);
    }
    
    int main()
    {
    	struct timeval time_a;
    	struct timeval time_b;
    	unsigned long time_delay;
    
    	gettimeofday(&time_a, NULL);
    	delay();
    	gettimeofday(&time_b, NULL);
    	
    	time_delay = 1000000 * (time_b.tv_sec - time_a.tv_sec) + time_b.tv_usec - time_a.tv_usec;
    	printf("Run time = %ld us\n", time_delay);
    	return 0;
    }

    这段代码的作用是计算delay()函数的执行时间,执行的结果为:

    Run time = 479461 us
    

    下面我们就来分析这段代码,首先我们来看一下struct timeval这个结构体的定义,如下

    struct timeval
    
    {
    
        __time_t tv_sec;        
    
        __suseconds_t tv_usec;  
    
    };

    这个结构体中有两个元素,分别为代表时间的秒tv_sec和微妙tv_usec。这个结构体采用“秒+微秒”的格式来表示时间。

    另外需要分析的是gettimeofday()函数,它的完整定义为:

    int gettimeofday(struct  timeval*tv,struct  timezone *tz )

    这个函数的第一个形参是指向timeval结构体的指针,实际上是通过这个指针返回一个timeval格式的时间。这个时间是从1970年0点0分0秒开始计时,经过的秒数和微秒数,并存储到tv指向的结构体。函数的第二个形参用来返回时区信息,由于这个信息我们没有用,所以程序里直接用NULL。函数的返回值为函数执行的结果,成功返回0,失败返回-1。

          通过gettimeofday()函数分别获取delay()函数运行前和运行后的时间,计算两个时间点的差就可以计算出delay()函数的执行时间。

     

    展开全文
  • 通过获取代码前后系统时间,计算时间差获取执行时间。 long start = System.currentTimeMillis(); long sum = 0; for (int i = 0; i <= 100000; i++) { sum += i; } System.out.println("sum = " + sum); long ...

    通过获取代码前后系统时间,计算时间差获取执行时间。

    long start = System.currentTimeMillis();
    long sum = 0;
    for (int i = 0; i <= 100000; i++) {
    	sum += i;
    }
    System.out.println("sum = " + sum);
    long end = System.currentTimeMillis(); 
    System.out.println(end - start + "ms");
    
    展开全文
  • 如何计算php程序代码的执行消耗时间? 对于系统时间,可能很多同学对php的time()函数并不陌生,可惜time()函数只返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数. 没错,是秒.我们...

    如何计算一段php程序代码的执行消耗时间?

    对于系统时间,可能很多同学对php的time()函数并不陌生,可惜time()函数只返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数.
    没错,是秒.我们一段php程序代码执行耗时可能并不超过一秒,所以time()并不适用.php提供了一个更为精确的时间函数microtime():

    microtime — 返回当前 Unix 时间戳和微秒数.
    格式: mixed microtime ([ bool $get_as_float ] )

    函数以 “msec sec” 的格式返回一个字符串,sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。
    如果输入参数为true,microtime() 将返回一个浮点数

    例如:echo microtime(); 会返回:0.08845800 1376983061。

    echo microtime(true);则返回:1376983061.08845800

    在dedecms和康盛的UCenter代码中使用了microtime()然后字符串分隔

    在thinkphp3.2框架代码中使用了microtime(true);

    好了,然后的事情很简单,为了免于对返回的结果做复杂的字符串转换,我们设定microtime()输入参数为true,使得其返回的结果为浮点数。
    然后在程序开始和结束分别计算一次,两次结果相减便是程序执行的时间。(PHP手册里有一句话:永远不要比较两个浮点数是否相等。 )
    最后使用number_format格式化浮点数。此方法仅供测试,结果不一定精确。

    代码如下:

    <?php
     
    $start = microtime(true);
    /*
    要测试的代码
    */
    $end = microtime(true);
    $time=$end-$start;
    echo number_format($time, 10, '.', '')." seconds"; //精确到十位小数,可自行调节
    ?>

     

    展开全文
  • 如何计算代码的运行时间

    千次阅读 2015-11-07 11:22:34
    注意:现在的很多MCU是多级流水线,其实这样计算是不太合适的。 2.用编程软件直接看,设置断点 然后调试 编译器可以看到用的时间是多少。注意:用软件仿真,软件的相关配置一定要正确。 3.用示波器,测试电平翻转...

    1.指令周期,51系列单片机指令周期是晶振周期的12倍,比如12M晶振,指令周期是1us,每条指令的指令周期是不一样的。或者不嫌麻烦的话可以去数指令注意:现在的很多MCU是多级流水线,其实这样计算是不太合适的。

    2.用编程软件直接看设置断点 然后调试 编译器可以看到用的时间是多少注意:用软件仿真,软件的相关配置一定要正确。

    3.用示波器,测试电平翻转速度。注意:IO口本身就有一个最大翻转速度。

    4.MCU自带捕获功能,开始时,引脚输出高电平,结束时,引脚输出低电平。这样只需测出这个引脚的高电平脉宽就可以了。使用STM32定时器的输入捕获功能,可以精确的测出高电平脉宽,然后通过串口发送给电脑显示。 注意:捕获最小分辨率。 

    5.用定时器中断,进入这个函数,将一个全局变量设为0,然后开一个合适的定时器中断频率,在这个定时器 中一旦检测到进入此函数,就对全局变量1.最后通过全局变量的值和中断频率计算。注意:定时器进出中断的频率是有时间开销的。

    个人建议:条件允许,示波器测试最佳,反应的是最接近真实的情况,因为大多数人对汇编指令的执行时间不是很精通。

     

    展开全文
  • 在执行函数之前加上: dbms_output.put_line('time1 ' || dbms_utility.get_time()); 在执行函数之后加上: ...然后用输出的两个时间相减,最后得到的时间差即为此函数的执行时间,单位为毫秒。...
  • 我想用js计算出某段时间的环比时间段。 现在时间段为 A - B,那么A 和 B 之间 应该 有N 天的间隔, 那么环比时间应该是 C - D,那么C 和 D 之间 应该 也有N 天的间隔,且 D 为 A 的前一天。 例如: 2020-01-...
  • 如何计算时间段内有几个星期几? Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiBase/html/delphi_20061216151111140.html 已知日期A是星期二、四、日中的一天。求A到B这段日期内共有几个星期二、四、...
  • VBA 如何计算代码运行需要的时间? [code="java"]Private Sub Form_Load() Dim sngStart As Single sngStart = Timer '循环代码 Debug.Print "耗费时间: " & Timer - ...
  • 假设我想计算一下,从我出生到现在为止,或者某一段时间间隔,一共有多少年,多少天? 多少秒应该怎么办?我们当然不会去手算这个差距了。这太麻烦了。要想算这个时间差距的话,我们需要用到datetime对象。总体过程...
  • 1、首先调用QueryPerformanceFrequency函数取得高精度运行计数器的频率f。单位是每秒多少次(n/s),此数一般很大...两次数值的差值通过f换算成时间间隔,t=(n2-n1)/f。 这里t获得值的单位为秒。 实现代码如下: 在
  • 计算程序的执行时间主要是为了方便计算一些算法的效率,当然,如果能够计算出一程序的执行时间,也就能够轻松编写出精确延时时间了。 调试51单片机的时候,可以可以在Keil中设定断点,直观地计算出两个断点...
  • -- 1 class Program 2 { 3 4 [System.Runtime.InteropServices.DllImport("Kernel32.dll")] 5 static extern bool QueryPerformanceCounter(ref long count); 6 ...
  • Calendar calendar = new GregorianCalendar();  long start = calendar.getTimeInMillis();  System.out.println("MILLISECOND Start: " + start);... System.out.println("运行时间: " + b);
  • VC++如何计算代码的执行时间

    千次阅读 2014-02-21 11:34:42
    单位为毫秒  在程序调试的过程中,VS2010包含头文件,DWORD和GetTickCount()提示没有定义,包含后没有问题,应该是开发环境的版本的问题。VC6++用头文件和而VS2010用...//输出运行时间 return 0; }
  • [img=https://img-bbs.csdn.net/upload/201503/22/1427035276_861289.png][/img] 如图所示,x是时间轴,y是温度变化,如何知道从哪个点的数据开始,温度的变化开始长时间持续下降?并在什么时间开始恢复波动
  • 计算k流水线执行n条指令的执行时间,有必要区分两种情况: 如果流水线中的各执行时间均为t,那么执行n条指令的时间就是执行第一条指令的时间kt,加上其余n-1条指令各执行一时间(n-1)t。 如果流水线中的各...
  • 计算k流水线执行n条指令的执行时间,有必要区分两种情况: 如果流水线中的各执行时间均为t,那么执行n条指令的时间就是执行第一条指令的时间kt,加上其余n-1条指令各执行一时间(n-1)t。 如果流水线中的各...
  • 有了起始的月份后,结束时间就是起始的时间加上3个月再减去一毫秒,就得到了季度的结束时间了,就有了刚开始的CODE。   转载于:https://www.cnblogs.com/magic_evan/archive/2011/08/25/2153356.html
  • 俺们都知道,生活离不开时间,时间是狠重要滴,做项目的时候也有用到时间,所以要使用它,就要做到完美,自然就要计算啦,说真滴,计算时间其实也不难。下图的时间是如何计算出来的呢?请往下看: HTML代码如下图所...
  • 如何计算程序的运行时间 如何计算程序的运行时间,这是大家所需要的一个功能。 而 C语言提供了这样一个函数,名为clock()。 clock():捕捉该程序从启动到函数调用占用CPU的 时间。单位为clock tick。 ...
  • java中如何计算两个时间段的月份差

    千次阅读 2019-06-21 15:48:46
    直接计算,先取得两个日期的年份和月份,月份差=(第二年份-第一年份)*12 + 第二月份-第一月份 转载于:https://www.cnblogs.com/pretty-guy/p/3284593.html
  • LocalDate localDate1 = new LocalDate(2018,08,08); LocalDate localDate2 = new LocalDate(2018,08,08); long days = localDate1.toEpochDay() - localDate2.toEpochDay();//得出相差天数 ...
  • 假设我想计算一下,从我出生到现在为止,或者某一段时间间隔,一共有多少年,多少天? 多少秒应该怎么办?我们当然不会去手算这个差距了。这太麻烦了。要想算这个时间差距的话,我们需要用到datetime对象。总体过程...
  • 俗话说得好,“三更灯火五更鸡,正是男儿读书时”。...这个计算还是有较大用途的,比如订单日期与发货日期之间的间隔,分析分析平均发货速度什么的。自然,作为案例,该考虑到的都已经考虑到了。照着做了一下:...
  • c#如何计算当月\季度时间段

    千次阅读 2013-02-24 10:12:32
    DateTime表示时间上的一刻,通常以日期和当天的时间表示。借用这个结构,我们可以实现较丰富的功能,本文给出得到每周每天的方法,及得到本月第一天,本月最后一天,本季第一天,本季最后一天,本年第一天及本年最后...
  • * 计算两个时间段之间交集的天数 * @param $startDate1 开始日期1 * @param $endDate1 结束日期1 * @param $startDate2 开始日期2 * @param $endDate2 结束日期2 */ public function share_date_days($...
  • 请教一下 下面的数据如何 使用sql 计算出 工作时间段 和 非工作时间段的 在线时间 LoginStatus 为登录状态 1 为 0为登出 onlinebigint 为 登录时间 单位秒, BrokerUserID 为Broker的用户ID 希望能够计算出 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,009
精华内容 803
关键字:

如何计算时间段