• 统计代码运行时间的方法


    0. C++代码运行时间统计(精确到纳秒(ns)):

    #include <iostream>
    #include <chrono>
    #include <iomanip>    
    using namespace std;
    
    void main()
    {
        auto start = chrono::high_resolution_clock::now();    //开始时间
    
        double db = 0;    //此处放代码
        for (int i = 0; i < 100000; i++)
        {
            db += i;
        }
    
        auto end = chrono::high_resolution_clock::now();    //结束时间
        __int64 duration = (end - start).count();
        cout << "程序运行时间:" << setprecision(10) << duration / 1000000000.0 << "s"
            << "" << duration / 1000000.0 << "ms" 
            << "" << duration / 1000.0 << "us"
            << endl;
    
        cin.get();
    }

        运行结果:

    1. C++代码运行时间统计:

    #include <iostream>
    #include <thread>    //包含此头文件
    
    using namespace std;
    
    void main()
    {
        clock_t start = clock();
    
    
        for (int i = 0; i < 1000; i++)
        {
            cout << "hello" << endl;
        }
    
    
        clock_t end = clock();
    
        cout << "程序运行时间:" << end - start << "ms" << endl;
        cin.get();
    }

    2. C/C++中计算代码运行时间:

    方法一:单位ms

    #include<iostream>  
    #include<Windows.h>  
    
    using namespace std;
    
    int main()
    {
        DWORD start_time = GetTickCount();    //开始时间;    GetTickCount()获取从操作系统启动开始所经过的毫秒数,返回值是DWORD类型
    
        for (int i = 0; i < 100000000; i++)
        {
            i++;
        }
    
        DWORD end_time = GetTickCount();    //结束时间;    
    
        cout << "运行时间为:" << (end_time - start_time) << "ms" << endl;
    
        system("pause");
        return 0;
    }

    方法二:单位s

    #include <iostream>   
    #include <ctime>  
    
    using namespace std;
    
    void main(void)
    {
        clock_t start, finish;
        double  duration;
    
        start = clock();    //开始时间;    clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t
    
        for(int i=0;i<100;i++)
            cout << "hello world" << endl;
    
        finish = clock();    //结束时间;
    
        duration = (double)(finish - start) / CLOCKS_PER_SEC;    //代码运行时间
    
        cout <<"代码运行时间为:"<< duration << " s" << endl;
    
        system("pause");
    }
  • 相关阅读:
    03_02_leetcode_11_盛最多的水
    03_01_跳跃表
    初学Java算法编程_Array List自己和官方文档的区别
    编译原理习题解析-第1章
    VS2019配置C+++mingW32配置
    自创理解绝对定位和相对定位的方法
    Solution -「洛谷 P7395」「CoE-I 2021C」弹珠游戏
    Solution Set -「ARC 113」
    Solution Set -「ABC 192」
    Solution Set -「CF 1486」
  • 原文地址:https://www.cnblogs.com/si-lei/p/9415946.html
Copyright © 2020-2023  润新知