c++ 程序执行时间

举报
风吹稻花香 发表于 2021/06/04 23:56:00 2021/06/04
【摘要】   c++计算程序执行时间 windows: DWORD start_time=GetTickCount(); DWORD end_time=GetTickCount(); CString s; s.Format(_T("%d"),end_time- start_time ); 单位是ms:  printf("Use Time:%f\n",(en...

 

c++计算程序执行时间

windows:

DWORD start_time=GetTickCount();

DWORD end_time=GetTickCount();

CString s;
s.Format(_T("%d"),end_time- start_time );

单位是ms:

 printf("Use Time:%f\n",(end_time-start_time)*1.0/1000);

#include <iostream>
#include <time.h>
using namespace std;
 

linux:
int main(int argc, const char * argv[])
{
    clock_t s_time, e_time;
    s_time=clock();
    for(int i=0; i<100000000; i++)
    {
        i-=1;    i+=1;
    }
    e_time=clock();
    cout<<"Total time:"<<(double)(e_time-s_time)/CLOCKS_PER_SEC<<"S"; 
    return 0;
}

 

在c++中计算程序运行时间需要包含"time.h"头文件

void main()
{
    clock_t  startTime = clock();//clock_t数据类型在源码中定义:typedef long clock_t;即为长整型数据,所以可以使用double直接代替clock_t
    /*
    程序块
    */
    clock_t endTime = clock();//clock()函数为获得CPU时钟计时单元(clock tick)数
    double totalTime = (endTime - startTime);//获得的是ms单位
    cout << totalTime << "ms" << endl;
    totalTime = (double)(endTime - startTime) / CLOCKS_PER_SEC;//CLOCKS_PER_SEC表示一秒钟会有多少个时钟计时单元,其实就是1000,毫秒/1000就是秒;注意在计算秒单位时应该强制转换成double类型才不会丢失精度
    cout << totalTime << "s" << endl;
}

在opencv中计算程序运行时间

void main()
{
    double startTime = getTickCount();
    /*
    程序块
    */
    double endTime = getTickCount();
    double totalTime = (endTime - startTime) / getTickFrequency();//获取的单位是秒
    cout << totalTime << endl;
}

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/89374320

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。