碼迷,mamicode.com
首頁 > 編程語言 > 詳細

c++微秒級計時+對拍

時間:2019-06-18 17:12:04      閱讀:31      評論:0      收藏:0      [點我收藏+]

標簽:data   直接   cas   auto   代碼   gis   ble   code   mes   

調用了c++11加入的chrono庫和命名空間
直接貼代碼
大部分內容來自這篇##blog##

注意:如果你直接這么寫你會發現用納秒級的代碼實際上的精度是0.1微秒

這是因為在Windows下system_clock只有這個精度

所以如果想做到真正的1ns需要用high_resolution_clock

當然你用linux的話請無視上面那幾句話

好難背啊

#include<cstdio>
#include<chrono>
#include<cstdlib>//用萬能頭也行
using namespace std;
using namespace chrono;
int main()
{
    register int i=1;
    for(;;++i)
    {
        system("data.exe > in.txt");
        auto s=system_clock::now();
        system("std.exe < in.txt  > stdout.txt");
        auto t=system_clock::now();
        system("test.exe < in.txt > testout.txt");
        auto t2=system_clock::now();
        auto duration1=duration_cast<microseconds>(t-s);
        auto duration2=duration_cast<microseconds>(t2-t);
        double time1=(double)(duration1.count())/1000;
        double time2=(double)(duration2.count())/1000;
        if(system("fc /W stdout.txt testout.txt > nul"))
        {
            printf("point #%d\nWA time used: std %.3fms test %.3lfms\n",i,time1,time2);
            break;
        }
        else printf("point #%d\nAC time used: std %.3fms test %.3lfms\n",i,time1,time2);
    }
    system("pause>nul");
    return 0;
}

c++微秒級計時+對拍

標簽:data   直接   cas   auto   代碼   gis   ble   code   mes   

原文地址:https://www.cnblogs.com/123789456ye/p/11046175.html

(0)
(0)
   
舉報
評論 一句話評論(0
0條  
登錄后才能評論!
? 2014 mamicode.com 版權所有 京ICP備13008772號-2
迷上了代碼!
25选5历史开奖结果百度