c/c++计算程序运行时间

1、C++程序运行时间计算

C 标准库提供了头文件time.h 用于获取时间,即Window和linux都可以用。
一个程序的CPU执行时间 = 一个程序的CPU时钟周期数 × 时钟周期时间
= 一个程序的CPU时钟周期数 ÷ 时钟频率

注:CPU的主频就是时钟频率。

1.1 CLOCK()

C语言中,clock()函数返回进程CPU运行的时钟周期计数,单位:ms。CLOCKS_PER_SEC是标准c的time.h头函数中宏定义的一个常数,表示一秒钟内CPU运行的时钟周期数(时钟频率)。
所以,程序运行时间==Δclock()/*CLOCKS_PER_SEC(ms)。
clock()是进程使用的cpu时间,属于处理器时间节拍,精度ms级(一般精度10ms),并行程序中统计时间会存在严重错误。

1.2 time()

  • time(NULL)是指返回从1970年1.1日(元旦)午夜0点到现在的秒数,属于实际时间,单位:s。精度秒(s)级;

程序运行时间计算程序

#include<iostream>
#include<iomanip>  //cout输出精度控制需要,fixed、setpercison()
#include<time.h>   //获取时钟周期数需要
using namespace std;
int main(void) {
 
  //计算方式一,CLOCK(),精度ms,10ms左右,提示:并行程序会出错
      long test ;
      clock_t start, finish;  // clock_t为时钟计时单元数
      start = clock();        // clock()返回此时CPU时钟计时单元数
          //测试代码段
          for (long i = 1; i <= 1000000000; i++) {
             test = i;
            }
        
       finish = clock();
       cout << "代码运行花费时间为:" << fixed << setprecision(8)//控制时间输出精度8位,右侧自动补0。
            << double(finish - start) / CLOCKS_PER_SEC << "ms"<< endl;  //时间计算过程
   //计算方式二,time(),精度s
       time_t timeBegin, timeEnd;
       timeBegin = time(NULL);
       //测试代码段
       for (long i = 1; i <= 1000000000; i++) {
         test = i;
       }

       finish = clock();
       timeEnd = time(NULL);

       cout << "代码运行花费时间为:" 
            << timeEnd - timeBegin << "ms"<< endl;  //时间计算过程

    return 0;
  }

程序运行结果:

代码运行花费时间为:2.87300000ms
代码运行花费时间为:2ms
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步达硬件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值