boost庫boost/timer/timer.hpp的使用(老版本的時間庫不支持了,被逼的)

今天打算寫一個多線程的代碼,嫌棄自己以前寫的單線程的代碼,想看看加速比。使用boost時間庫    boost::progress_timer t;  //計算程序運行時間。本想着湊乎着用吧,結果編譯2以後告訴我最好使用boost/timer/timer.hpp,老版本的不支持了什麼的。

無奈學習了一下boost/timer/timer.hpp。

使用方法:

注意事項有兩個,第一個是添加頭文件,第二個是需要編譯。

#include <boost/timer/timer.hpp>

還要在make文件中加入

-lboost_system -lboost_timer

纔可以的。

上代碼:


int main()
{     
    boost::timer::auto_cpu_timer t;  //計算程序運行時間
   
    t.start();                                      //開始計時

    for(int i = 0; i< 1000;++i)
    {
        for(int j = 0; j < 100000;++j)
        {}
    }
    
    std::cout << t.format() << std::endl; 
    return 0;
}

實際上不需要

    t.start();                                      //開始計時

的因爲調用構造函數就開始計時了

也不需要要

  std::cout << t.format() << std::endl; 

析構函數調用就自己輸出了;

結果:

這是沒有上面的語句的。


int main()
{     
    boost::timer::auto_cpu_timer t;  //計算程序運行時間


    for(int i = 0; i< 1000;++i)
    {
        for(int j = 0; j < 100000;++j)
        {}
    }

    return 0;
}

加上就輸出兩遍:


int main()
{     
    boost::timer::auto_cpu_timer t;  //計算程序運行時間
   
    t.start();                                      //開始計時

    for(int i = 0; i< 1000;++i)
    {
        for(int j = 0; j < 100000;++j)
        {}
    }
    
    std::cout << t.format() << std::endl; 
    return 0;
}

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章