首页 > 编程语言 >用 chrono 测量程序执行时间

用 chrono 测量程序执行时间

时间:2024-11-26 15:23:52浏览次数:5  
标签:include chrono clock 测量 程序执行 时间 now

用 <chrono> 测量程序执行时间

头文件 <chrono>,命名空间 std::chrono

chrono 中提供了三种获取当前时钟的命名空间的成员函数:

chrono::system_clock::now(),系统时间,可能回退,可用于现实世界中的时间测量。
chrono::steady_clock::now(),稳定单调时间,不受系统时间的影响,可用于性能测试。
chrono::high_resolution_clock::now(),高精度的稳定单调时间,可用于性能测试。

我们一般使用 chrono::steady_clock 测量程序执行时间

它们返回一个时间,我们可以用结束时间点减去开始时间点得到一个时间
其中时间段的类型是 chrono::duration<T>,类型 T 自选。

将时间段转成秒数:
可以使用 chrono::duration 的成员函数 .count()

实现

#include<iostream>
#include<chrono>
#include<algorithm>
using namespace std;

const int N=1e6+5;
unsigned n,a[N];
int main(){
	freopen("test.in","r",stdin);
	freopen("test.out","w",stdout);
	
	auto begin_time=chrono::steady_clock::now();
	
	scanf("%u",&n);
	for(unsigned i=1;i<=n;i++) scanf("%u",&a[i]);
	sort(a+1,a+1+n);
	unsigned ans=0;
	for(unsigned i=1;i<=n;i++) ans^=a[i]*i;
	printf("%u\n",ans);
	
	auto end_time=chrono::steady_clock::now();
	chrono::duration<double> diff=end_time-begin_time;
	printf("\n%.8lf\n",diff.count());
}

测试输入

10
18 23 1 90 0 76 4 32 11 9

测试输出

248

0.00016080

说明程序用时 \(1.608\) 毫秒。

标签:include,chrono,clock,测量,程序执行,时间,now
From: https://www.cnblogs.com/dccy/p/18570268

相关文章

  • 折叠光腔衰荡高反射率测量技术的matlab模拟理论分析
    折叠光腔衰荡高反射率测量技术的matlab模拟理论分析1.前言2.光腔模型3.光腔衰荡过程4.衰荡时间与反射率的关系5.测量步骤①.光腔调节:②.光腔衰荡测量:③.计算衰荡时间常数:④.反射率计算:6.实际应用中的调整7.技术优势和局限8.总结9.其他情况的代码案例:①角......
  • 2000度超高温下材料三维应变测量技术及其应用
    在航空航天、能源和化工等工业领域,许多机件是在高温下长期服役的,如发动机、锅炉设备等,它们对材料的高温力学性能提出了很高的要求。高温力学性能是指高温下物料因抵抗外力作用而产生各种变形和应力的能力。正确地评价材料、合理地使用材料、研究新的耐高温材料,为上述工业发展和......
  • 使用Python time库的perf_counter统计程序执行时间
    使用Pythontime库的perf_counter统计程序执行时间1.什么是`perf_counter`?2.为什么使用`perf_counter`?3.如何使用`perf_counter`统计程序执行时间?3.1基本用法3.2测量函数的执行时间4.注意事项5.总结在编写Python程序时,我们经常需要评估代码的性能,特别是当我......
  • 【评估多目标跟踪方法】9个高度敏捷目标在编队中的轨迹和测量研究(Matlab代码实现)
     ......
  • 厂家介绍水分仪应用及精度测量时所要注意事宜
    水分仪的应用水分仪在众多领域都发挥着重要作用。在农业领域,它能准确测量谷物、水果等的水分含量,帮助判断农产品的质量和储存条件。在工业生产中,对于原材料和成品的水分控制至关重要,水分仪可确保产品符合质量标准。在食品行业,水分仪能监控食品的水分含量,保障食品安全和口感。......
  • 基于STM32的高精度数字测量仪设计
    引言本项目设计了一个基于STM32的高精度数字测量仪,能够精确测量电压、电流、温度以及其他环境参数。通过采用高分辨率的ADC(模数转换器)和温度传感器等外设,该系统可以实时获取精确的数据,广泛应用于实验室测量、工业监控以及精密电子设备的调试。用户通过OLED显示屏查看测量结......
  • 【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM使用DHT11模块测量温湿度
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的......
  • 合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测等技术应用
    合成孔径雷达干涉测量(InterferometricSyntheticApertureRadar,InSAR)技术作为一种新兴的主动式微波遥感技术,凭借其可以穿过大气层,全天时、全天候获取监测目标的形变信息等特性,已在地表形变监测、DEM生成、滑坡、火山活动、冰川运动、人工建筑物形变信息提取等多种领域展开了......
  • 基于单片机电容测量仪仿真设计
    文章目录前言资料获取设计介绍设计程序具体实现截图设计获取前言......
  • PostgreSQL同步流复制与synchronous_standby_names设置
    PostgreSQL的流复制,从整体上看,可以粗分为同步与异步两种模式,其中涉及的主要参数包括synchronous_commit和synchronous_standby_names主节点synchronous_commit参数设置synchronous_commit事务提交模式,类似于MySQL的innodb_flush_log_at_trx_commit参数,对应着事务提交后返回给客......