美文网首页
C++测试代码运行时间

C++测试代码运行时间

作者: 几时见得清梦 | 来源:发表于2020-05-18 11:25 被阅读0次

    方法1

    头文件是time.h
    C++中的计时函数是clock(),与其相关的数据类型是clock_t。
    clock_t:保存时间的数据类型,为长整型数。
    函数定义原型为: clock_t clock(void);

    该函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN上称之为挂钟时间(wal-clock)。

    #include <ctime>
    using namespace std;
     
    clock_t start = clock();
    // do something...
    clock_t end   = clock();
    cout << "花费了" << (double)(end - start) / CLOCKS_PER_SEC << "秒" << endl;
    

    方法2

    采用c++11标准,编译器需要支持c++11

    #include <chrono>   
    using namespace std;
    using namespace chrono;
     
    auto start = system_clock::now();
    // do something...
    auto end   = system_clock::now();
    auto duration = duration_cast<microseconds>(end - start);
    cout <<  "花费了" 
         << double(duration.count()) * microseconds::period::num / microseconds::period::den 
         << "秒" << endl;
    

    此方法可以精确到微秒,输出样例:花费了0.123456秒

    关键词 auto 是一个“自动类型”,可以理解成“万能类型”.
    system_clock 是 C++11 提供的一个 clock。除此之外,还有两个clock:steady_clock 和 high_resolution_clock
    now( ) 表示计时的那“一瞬间”
    duration_cast< > 表示类型转换
    microseconds 表示微秒。除此之外,还有五种时间单位:hours, minutes, seconds, milliseconds, nanoseconds
    num 和 den分别表示分子(numerator)和分母(denominator)。在代码中,num等于1, den等于1,000,000
    count( ) 用来返回时间

    参考

    1.CSDN: C++ 学习系列(一)测试程序运行时间—clock()
    2.CSDN: C++11 新的计时方法——std::chrono 大法好

    相关文章

      网友评论

          本文标题:C++测试代码运行时间

          本文链接:https://www.haomeiwen.com/subject/zhfcohtx.html