• 计算程序执行的时间


    1.这个是windows里面经常使用来计算程序执行时间的函数。
    DWORD dwStart = GetTickCount();
    //这里执行你的程序代码
    DWORD dwEnd = GetTickCount();
    则(dwEnd-dwStart)就是你的程序执行时间, 以毫秒为单位

    这个函数仅仅精确到55ms,1个tick就是55ms。


    #include <iostream>
    #include <windows.h>
    using namespace std;
    int main(int argc, char* argv[])
    {
    DWORD start, end;

    start = GetTickCount();
    for(int i=0;i<1000;i++)
    cout<<"you are a good child!"<<endl;   //your code
    end = GetTickCount()-start;
    cout<<end<<endl;
        return 0;
    }

    2
    timeGetTime()基本等于GetTickCount(),可是精度更高
    DWORD dwStart = timeGetTime();

    //这里执行你的程序代码

    DWORD dwEnd = timeGetTime();

    则(dwEnd-dwStart)就是你的程序执行时间, 以毫秒为单位
    尽管返回的值单位应该是ms,但传说精度仅仅有10ms。

    #include <iostream>
    #include <windows.h>
    #pragma comment(lib,"winmm.lib")

    using namespace std;
    int main(int argc, char* argv[])
    {
    DWORD start, end;

    start = timeGetTime();
    for(int i=0;i<100;i++)
    cout<<"you are a good child!"<<endl;
    end = timeGetTime()-start;
    cout<<end<<endl;
        return 0;
    }

    3
    用clock()函数。得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就能够换成“秒”。标准c函数。
    clock_t clock ( void );

    #include <time.h>
    clock_t t = clock();
    long sec = t / CLOCKS_PER_SEC;
    他是记录时钟周期的,实现看来不会非常精确,须要试验验证;

    #include<iostream>
    #include<ctime> //<time.h>
    using   namespace   std;
    int   main()
    {
        time_t   begin,end;

        double duration;
        begin=clock();
        //这里加上你的代码
        end=clock();

        duration=double(end-begin)/CLOCKS_PER_SEC;
        cout<<"runtime:   "<<duration<<endl;
    }

  • 相关阅读:
    将n个不同的球放到m个相同的袋子里有多少种方案?

    平面分割直线2
    差分
    并查集(UnionFind)
    约瑟夫环公式
    Kruskal
    线性欧拉筛
    SPAF
    Dijkstra
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7098016.html
Copyright © 2020-2023  润新知