如何高精度计算任务的运行时间

前言: 对于应用系统中频繁用到的核心算法,我们往往需要比较精确计算出该算法时间代价,本人通过查阅各种资料,发现以下方法是精度极高的时间计算方法:

 

几个基本概念: 秒(s) 毫秒(ms) 微秒(us) 纳秒(ns)
1s = 1000ms
1ms = 1000us
1us = 1000ns

对于精确度要求高的定时操作,则应该使用QueryPerformanceFrequency()和QueryPerformanceCounter(), 这两个函数要求计算机从硬件上支持精确定时器
BOOL     QueryPerformanceFrequency(LARGE_INTEGER   *lpFrequency);
BOOL     QueryPerformanceCounter(LARGE_INTEGER   *lpCount);
在进行定时之前,先调用QueryPerformanceFrequency()函数获得机器内部定时器的时钟频率,然后在需要严格定时的事件发生之前和发生之后分别调用QueryPerformanceCounter()函数,利用两次获得的计数之差及时钟频率,计算出事件经历的精确时间。下列代码实现1ms的精确定时:

LARGE_INTEGER litmp; 
LONGLONG   Begin, End;
double      dfMinus,   dfFreq,   dfTime;
QueryPerformanceFrequency(&litmp);
dfFreq   =   (double)litmp.QuadPart;//   获得计数器的时钟频率

QueryPerformanceCounter(&litmp);
Begin =   litmp.QuadPart;//   获得初始值

//执行你的任务

QueryPerformanceCounter(&litmp);
End =   litmp.QuadPart;//获得中止值


//计算本次任务的计数之差
dfMinus   =   (double)(QPart2-QPart1);
//获得对应的时间值,单位为秒
dfTime   =   dfMinus /dfFreq;

其定时误差不超过1微秒,精度与CPU等机器配置有关

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 并行计算是一种计算模式,指的是通过同时执行多个计算任务来提高计算效率的方法。在传统的计算模式中,只有一个计算任务被处理器执行,而在并行计算中,多个任务被同时执行,以提高计算速度和性能。 高性能计算是指通过使用高性能计算机和优化算法,以及充分利用计算资源来解决复杂的科学、工程和商业问题的计算方法。它通常通过并行计算的方式来实现,以加速计算过程,并在有限的时间内得到更准确和可靠的结果。 PDF(Portable Document Format)是一种跨平台的电子文档格式,它能够准确地保留文档的布局和格式,同时具有良好的可读性和可打印性。CSDN是中国最大的IT社区平台之一,提供了大量的IT技术文档和学习资源。 在计算科学领域,PDF文档可以用来记录并行计算和高性能计算的技术和方法。在这些文档中,我们可以了解到并行计算的基本概念、并行计算的原理和模型、并行计算的应用领域等。同时,还可以了解到高性能计算的基本原理、高性能计算的应用场景和案例,以及高性能计算在各个领域中的重要作用。 通过阅读这些PDF文档,我们可以获取关于并行计算和高性能计算的知识,了解并行计算和高性能计算的最新技术和发展动态,以及掌握并行计算和高性能计算的基本方法和应用技巧。这对于提高计算效率、解决复杂问题和推动科学研究和工程发展都具有重要的意义。 ### 回答2: 并行计算是指同时执行多个计算任务的一种计算模式,其目的是提高计算效率和性能。在传统的计算模式下,计算任务是按顺序一个一个执行的,而并行计算允许多个计算任务同时进行,利用多核处理器、分布式计算系统等技术实现任务的并行处理。 高性能计算是指利用先进的计算技术和硬件设备,以更高的运算速度和计算能力去解决科学、工程、金融等领域中的复杂问题。高性能计算主要应用于模拟计算、数据分析、人工智能等领域,可以加快计算完成时间,提高计算精度和模拟结果的可靠性。 在并行计算中,高性能计算有着重要的应用。通过并行计算的方式,利用多个计算节点同时进行计算,可以充分利用计算资源,提高计算效率和性能。而高性能计算是为了满足大规模计算需求而设计的计算平台,通过并行计算的方式可以更好地发挥高性能计算的优势。 PDF和CSDN是两个与并行计算和高性能计算相关的概念。PDF是一种可移植文档格式,可以用来存储和传递文档的信息,包括文本、图像、表格等。在并行计算和高性能计算领域,科学家和工程师经常会使用PDF来发布和共享他们的研究成果和计算结果。 而CSDN是一个IT技术社区,提供各个领域的技术博客、论坛和代码分享平台。在CSDN上,人们可以找到很多关于并行计算和高性能计算的资料和教程,学习和交流相关的知识和经验。 综上所述,并行计算和高性能计算是两个相互关联的概念。通过并行计算的方式,可以提高计算效率和性能,而高性能计算则提供了运行并行计算的平台和资源。PDF和CSDN则是与并行计算和高性能计算相关的文档格式和学习交流平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值