zoukankan      html  css  js  c++  java
  • C++测试代码运行时间的模板

     1 #include <iostream>
     2 #include <chrono>
     3 #include <ctime>
     4 
     5 int main(){
     6     using namespace std::chrono;
     7     using namespace std;
     8 
     9 
    10     using _time = steady_clock::time_point;
    11 
    12     _time t1 = steady_clock::now();
    13 
    14     /*code one*/
    15 
    16     _time t2 = steady_clock::now();
    17 
    18 
    19 
    20     
    21     /*code two*/
    22 
    23     _time t3 = steady_clock::now();
    24     duration<double> time_span1 = duration_cast<duration<double>>(t2 - t1);
    25     duration<double> time_span2 = duration_cast<duration<double>>(t3 - t2);
    26     std::cout << "It took me " << time_span1.count() << " seconds." << endl;
    27     std::cout << "It took me " << time_span2.count() << " seconds." << endl;
    28 
    29     return 0;
    30 }
    31 //可能会有小误差,建议使用大数据测试以减少误差

     封装如下

     1 #include <iostream>
     2 #include <chrono>
     3 
     4 
     5 struct Timer{
     6     std::chrono::time_point<std::chrono::steady_clock> start, end;
     7     std::chrono::duration<double> duration;
     8 
     9     Timer(){
    10         start = std::chrono::high_resolution_clock::now();
    11     }
    12 
    13     ~Timer(){
    14         end = std::chrono::high_resolution_clock::now();
    15         duration = end - start;
    16 
    17         double ms = duration.count() * 1000.0;
    18         std::cout << "It takes me :" << ms << " ms" << std::endl;
    19     }
    20 
    21 };

     获取当前时间

    void get_now_time() {
        const auto now = system_clock::now(); /* Possible output: */
        const time_t now_time_t = system_clock::to_time_t(now);
        std::cout << ctime(&now_time_t) << '
    ';  // Wed Oct 21 16:29:00 2015
    }
  • 相关阅读:
    python高级特性和高阶函数
    代理模式及案例
    我的报错错误记录
    摘抄-编码规范
    测试java的Lambda语法
    测试IDEA将新建项目提交到github上
    js处理科学计数法
    测试java操作运算符
    java根据模板生成,导出word和pdf(aspose.words实现word转换pdf)
    sqlserver日期函数
  • 原文地址:https://www.cnblogs.com/MasterYan576356467/p/11167317.html
Copyright © 2011-2022 走看看