zoukankan      html  css  js  c++  java
  • 统计代码运行时间的方法

    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");
    }
  • 相关阅读:
    ubuntu解压时中文出现乱码
    centos7下搭建高匿HTTP代理
    nmon监控分析
    oracle12c
    Linux下卸载Oracle 11g
    Oracle 11g修改字符集
    centos下静默安装oracle11g
    Hive基础之Hive开启查询列名及行转列显示
    Hive基础之HiveServer2 JDBC的使用
    JavaScript对象的创建总结
  • 原文地址:https://www.cnblogs.com/si-lei/p/9415946.html
Copyright © 2011-2022 走看看