C/C++程序運行耗時統計(高精度)

方法一:(單位爲微秒)

   #include<iostream>
   #include <chrono>
   #include <windows.h>
   using namespace std;
   using namespace chrono;

   int main()
        {
            auto start = system_clock::now();
            //Doing sth.
            auto end = system_clock::now();
            auto duration = duration_cast<microseconds>(end - start);
            cout << "花費了"<< double(duration.count()) * microseconds::period::num / microseconds::period::den
                << "秒" << endl;
           return 0;
      }

方法二:(單位爲毫秒)

   double MyMilliseconds()
   {
         double res = 0;
   #ifdef WIN32
         do 
         {
              LARGE_INTEGER fre;
              LARGE_INTEGER Count;
   		      if (!QueryPerformanceFrequency(&fre))
              {
                 break;
              }
              if (!QueryPerformanceCounter(&Count))
              {
                 break;
              }

             res = static_cast<double>(Count.QuadPart ) / static_cast<double>(fre.QuadPart) * 1000;

         } while (false);

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