c++微秒级计时+对拍
标签:data 直接 cas auto 代码 gis ble code mes
调用了c++11加入的chrono库和命名空间
直接贴代码
大部分内容来自这篇##blog##
注意:如果你直接这么写你会发现用纳秒级的代码实际上的精度是0.1微秒
这是因为在Windows下system_clock只有这个精度
所以如果想做到真正的1ns需要用high_resolution_clock
当然你用linux的话请无视上面那几句话
好难背啊
#include
#include
#include//用万能头也行
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 stdout.txt");
auto t=system_clock::now();
system("test.exe testout.txt");
auto t2=system_clock::now();
auto duration1=duration_cast(t-s);
auto duration2=duration_cast(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
评论