C/C++中计算程序运行时间

F1:

头文件:#include<time.h>

开始的地方:

clock_t start, finish;
    double totaltime;
    start = clock();

结束的地方:

finish = clock();
    totaltime = (double)(finish - start) / CLOCKS_PER_SEC;
    cout << "\n此程序的运行时间为" << totaltime << "秒!" << endl;

这样就OK啦

F2:

       #include <iostream>
      #include <fstream>
      using namespace std;

        std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();
        // Pass the image to the SLAM system
        MultiSLAM.TrackMultiColSLAM(imgs, tframe);

        std::chrono::steady_clock::time_point t2 = std::chrono::steady_clock::now();

        double ttrack = std::chrono::duration_cast<std::chrono::duration<double> >(t2 - t1).count();

          ubuntu下使用该方法要注意的是:-std=c++ 11 ,一定要有,没有就会报错,这个方法我搞了半天,擦。

  

    // high_resolution_clock example  
    #include <iostream>  
    #include <ctime>  
    #include <ratio>  
    #include <chrono>  
      
    int main ()  
    {  
      using namespace std::chrono;  
      
      high_resolution_clock::time_point t1 = high_resolution_clock::now();  
      
      std::cout << "printing out 1000 stars...\n";  
      for (int i=0; i<1000; ++i) std::cout << "*";  
      std::cout << std::endl;  
      
      high_resolution_clock::time_point t2 = high_resolution_clock::now();  
        
        
      std::cout<<"in seconds time:";  
      duration<double,std::ratio<1,1>> duration_s(t2-t1);  
      std::cout<<duration_s.count()<<" seconds"<<std::endl;  
        
      std::cout<<"in millisecond time:";  
      //duration<double,std::ratio<1,1000>> duration_ms(t2-t1);  
      duration<double,std::ratio<1,1000>> duration_ms=duration_cast<duration<double,std::ratio<1,1000>>>(t2-t1);  
      std::cout<<duration_ms.count()<<" milliseconds"<<std::endl;  
        
      std::cout<<"in microsecond time:";  
      //duration<double,std::ratio<1,1000000>> duration_ms(t2-t1);  
      duration<double,std::ratio<1,1000000>> duration_mcs=duration_cast<duration<double,std::ratio<1,1000000>>>(t2-t1);  
      std::cout<<duration_mcs.count()<<" microseconds"<<std::endl;  
        
      
      duration<double> time_span = duration_cast<duration<double>>(t2 - t1);  
      
      std::cout << "It took me " << time_span.count() << " seconds.";  
      std::cout << std::endl;  
      
      return 0;  
    }  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值