C++测试代码运行时间

2023-05-16

如果我们想直观地看出朴素算法和其他算法对程序运行时间的影响,那么就可以采取以下方式。

方法1:基于头文件ctime和函数clock()的实现

代码1:

#include<iostream>
#include<ctime>

using namespace std;

const int N = 1e6;
int main(){

    clock_t start, end;
    
    start = clock();
    printf("Start: %ld\n",start);

    for(int i = 0 ; i < N ; i ++){
        //一个用时为0.002s的小循环
    }

    end = clock();
    printf("End: %ld\n",end);

    double elapsedTime = static_cast<double>(end-start) / CLOCKS_PER_SEC ;
    //clock()以毫秒的形式展现,因此需要除以 CLOCKS_PER_SEC 来实现转换
    //static_cast<double>的作用是将结果转换为double类型
    printf("CPU PROCESSING TIME: %f",elapsedTime);
    return 0;
}

结果如下:

 我们再在小循环内部添加一个循环次数为1000次的循环,那么结果理应是0.002s的1000倍;

代码2:

#include<iostream>
#include<ctime>

using namespace std;

const int N = 1e6;
int main(){

    clock_t start, end;
    
    start = clock();
    printf("Start: %ld\n",start);

    for(int i = 0 ; i < N ; i ++){
        for(int i = 0 ; i < 1000 ; i ++){
            //A loop that takes about two seconds to run
        }
    }

    end = clock();
    printf("End: %ld\n",end);

    double elapsedTime = static_cast<double>(end-start) / CLOCKS_PER_SEC ;
    printf("CPU PROCESSING TIME: %f",elapsedTime);
    return 0;
}

结果如下:

 clock函数的返回值:

The number of clock ticks elapsed since an epoch related to the particular program execution.
On failure, the function returns a value of -1.       ---https://cplusplus.com/reference/ctime/clock/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++测试代码运行时间 的相关文章

随机推荐

  • 面向区块链的高效物化视图维护和可信查询

    面向区块链的高效物化视图维护和可信查询 人工智能技术与咨询 来源 xff1a 软件学报 xff0c 作者蔡 磊等 摘 要 区块链具有去中心化 不可篡改和可追溯等特性 可应用于金融 物流等诸多行业 由于所有交易数据按照交易时间顺序存储在各个区
  • 基于迁移深度学习的雷达信号分选识别

    基于迁移深度学习的雷达信号分选识别 人工智能技术与咨询 来源 xff1a 软件学报 xff0c 作者王功明等 摘要 针对当前雷达信号分选识别算法普遍存在的低信噪比下识别能力差 特征参数提取困难 分类器模型参数复杂等问题 xff0c 提出了一
  • 基于深度学习的磁环表面缺陷检测算法

    基于深度学习的磁环表面缺陷检测算法 人工智能技术与咨询 来源 xff1a 人工智能与机器人研究 xff0c 作者罗菁等 关键词 缺陷检测 xff1b 深度学习 xff1b 磁环 xff1b YOLOv3 xff1b 摘要 在磁环的生产制造过
  • 基于PX4的地面无人车避障系统及路径规划研究

    基于PX4的地面无人车避障系统及路径规划研究 人工智能技术与咨询 来源 xff1a 动力系统与控制 xff0c 作者姜琼阁等 关键词 地面无人车 xff1b 避障 xff1b PX4 xff1b 摘要 地面无人车避障及路径规划是指 xff0
  • 基于图像的数据增强方法发展现状综述

    基于图像的数据增强方法发展现状综述 人工智能技术与咨询 2022 03 22 20 57 点击蓝字 关注我们 来源 xff1a 计算机科学与应用 xff0c 作者冯晓硕等 关键词 数据增强 xff1b 图像数据集 xff1b 图像处理 xf
  • 基于改进SSD算法的小目标检测与应用

    人工智能技术与咨询 点击蓝字 关注我们 来源 xff1a 计算机科学与应用 xff0c 作者刘洋等 关键词 SSD xff1b 深度学习 xff1b 小目标检测 摘要 xff1a 摘要 针对通用目标检测方法在复杂环境下检测小目标时效果不佳
  • 组网雷达融合处理组件化设计与仿真

    人工智能技术与咨询 点击蓝色 关注我们 关键词 xff1a 组网雷达 点迹融合 航迹融合 组件化设计 仿真 摘要 数据融合处理是多雷达组网的核心 以典型防空雷达网为参考对象 xff0c 采用组件化设计方式 xff0c 将组网数据融合处理过程
  • 字符设备驱动基础-linux驱动开发第2部分-朱有鹏-专题视频课程

    字符设备驱动基础 linux驱动开发第2部分 5673人已学习 课程介绍 本课程是linux驱动开发的第2个课程 xff0c 从零开始带领大家逐渐熟悉内核模块 xff0c 并且一步步写出一个字符设备驱动程序来控制LED等 本课程对驱动的学习
  • 人工智能 知识图谱

    关于举办 2022年数字信息化培训项目系列 知识图谱Knowledge Graph构建与应用研修班线上课程的通知 各有关单位 一 培训目标 本次课程安排紧密结合理论与实践 xff0c 深入浅出 xff0c 循序渐进 从基本概念讲起 xff0
  • 深度学习(Deep Learning)

    知识关键点 1 人工智能 深度学习的发展历程 2 深度学习框架 3 神经网络训练方法 4 卷积神经网络 xff0c 卷积核 池化 通道 激活函数 5 循环神经网络 xff0c 长短时记忆 LSTM 门控循环单元 GRU 6 参数初始化方法
  • 基于深度学习的机器人目标识别和跟踪

    如今 xff0c 深度学习算法的发展越来越迅速 xff0c 并且在图像处理以及目标对象识别方面已经得到了较为显著的突破 xff0c 无论是对检测对象的类型判断 xff0c 亦或者对检测对象所处方位的检测 xff0c 深度学习算法都取得了远超
  • 散列表与探测法

    动态查找的时候 如果用查找树同时对俩个变量名 字符串 进行查找 会导致效率不高的问题 引入散列的思想 把字符串变成数字 使得对字符串的比较变成对数字的比较 查找方式时间复杂度顺序查找O n 二分查找 静态查找 O log2N 二叉搜索树O
  • Springboot实现VNC的反向代理

    背景 用户需要通过前端HTML页面的noVNC xff08 noVNC是什么 xff1f xff09 客户端连接底层VNC Server服务端 xff0c 为了防止VNC Server的IP暴露 xff0c 因此需要做一层代理 正常情况下使
  • Visual Studio Code 的C++环境配置和调试

    目录 前言 xff1a 1 为什么要写这篇文章 xff1f 2 为什么选择VS Code xff1f 3 如何联系我 xff1f 简而言之 xff0c VS Code免费 43 快速 43 好用 43 潜力无穷 xff1b 一 安装VS C
  • 浅析向量(Vector),迭代器(Iterator)和数组(Array)

    目录 前言 Foreword 向量 Vector 1 何为向量 xff1f 2 如何初始化Vector向量 xff1f 3 向量的基本操作 xff1a 4 Range based For Statement 5 向量的插入操作 xff1a
  • 《数字电路分析》学习札记

    目录 前言 xff1a Chapter 1 数字逻辑基础 进制 xff1a 进制间转换方法 xff1a BCD xff1a 余3码 xff1a 余3循环码 xff1a 格雷码 xff08 循环码 xff09 xff1a 二进制数 格雷码 x
  • Ubuntu 22.04 双系统安装和卸载

    前言 xff1a 一 为什么选择Ubuntu系统 xff1f 1 免费且提供长期系统维护支持 xff1b 2 是主流的Linux服务器发行版 xff1b 3 强大的Shell xff1b 4 简洁好看的图形化UI界面 xff1b 5 丰富的
  • CSS-Div居中方法(Position方法)

    目录 代码展示 xff1a 实际效果 xff1a 具体分析 xff1a 如何联系我 xff1f 代码展示 xff1a lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt
  • 字符设备驱动-linux驱动开发第3部分-朱有鹏-专题视频课程

    字符设备驱动 linux驱动开发第3部分 4561人已学习 课程介绍 本课程是linux驱动开发的第3个课程 xff0c 接上部分继续讲解字符设备驱动的开发要点 xff0c 重点是相关的内核源代码的解析和一些真正驱动惯用的编程手法的引入 本
  • C++测试代码运行时间

    如果我们想直观地看出朴素算法和其他算法对程序运行时间的影响 xff0c 那么就可以采取以下方式 方法1 xff1a 基于头文件ctime和函数clock 的实现 代码1 xff1a include lt iostream gt includ