如何精确计算出一个算法的CPU运行时间?

简介: 如何精确计算出一个算法的CPU运行时间?

你需要多精确?  

GetTickCount可以到18-20ms进度  

timeGetTime可以到1ms精度  

……  

 

当然这些都不是C  or  c++  标准支持的。  

 

那么就要祭出最牛奔的方法,  

直接读取CPU开机以来执行的机器周期数,  

一条汇编指令:RDTSC  (就是  ReaD  TimeStamp  Count)  

精度可以达到ns级别。(准确地说精度是1  /  你的CPU的时钟频率,这也是极限)  

long  HighStart,LowStart,HighEnd,LowEnd;  
           long  numhigh,numlow;  
             
           __asm  
           {  
                       RDTSC    
                                   mov  HighStart,  edx  
                                   mov  LowStart,  eax              
                                     
//  put  your  time-consuming  code    here  ……  
                                   RDTSC  
                                   mov  HighEnd,  edx  
                                   mov  LowEnd,    eax  
                                   //获取两次计数器值得差  
                                   sub  eax,    LowStart  
                                   cmp        eax,    0                
                                   jg          L1  
                                   neg          eax    
                                   jmp          L2  
                                     
L1:                        mov  numlow,    eax  
L2:                        sbb  edx,    HighStart  
                       mov  numhigh,  edx  
                         
           }  
           __int64    timer  =(numhigh<<32)  +  numlow;  //得出最终结果
相关文章
|
8月前
|
算法 机器人
基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
本课题研究基于海鸥优化算法(SOA)优化PID控制器参数的方法,通过MATLAB仿真对比传统PID控制效果。利用SOA算法优化PID的kp、ki、kd参数,以积分绝对误差(IAE)为适应度函数,提升系统响应速度与稳定性。仿真结果表明,SOA优化的PID控制器在阶跃响应和误差控制方面均优于传统方法,具有更快的收敛速度和更强的全局寻优能力,适用于复杂系统的参数整定。
|
12月前
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
9月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族详细介绍:计算型c9i、经济型e和通用算力u1实例CPU参数说明
阿里云ECS实例规格族包括计算型c9i、经济型e和通用算力型u1等,各自针对不同场景优化。不同规格族在CPU型号、主频、网络性能、云盘IOPS等方面存在差异,即使CPU内存相同,性能和价格也不同。
891 0
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
384 0
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
239 0
|
算法 数据安全/隐私保护
基于Big-Bang-Big-Crunch(BBBC)算法的目标函数最小值计算matlab仿真
该程序基于Big-Bang-Big-Crunch (BBBC)算法,在MATLAB2022A中实现目标函数最小值的计算与仿真。通过模拟宇宙大爆炸和大收缩过程,算法在解空间中搜索最优解。程序初始化随机解集,经过扩张和收缩阶段逐步逼近全局最优解,并记录每次迭代的最佳适应度。最终输出最佳解及其对应的目标函数最小值,并绘制收敛曲线展示优化过程。 核心代码实现了主循环、粒子位置更新、适应度评估及最优解更新等功能。程序运行后无水印,提供清晰的结果展示。
314 14
|
人工智能 缓存 并行计算
转载:【AI系统】CPU 计算本质
本文深入探讨了CPU计算性能,分析了算力敏感度及技术趋势对CPU性能的影响。文章通过具体数据和实例,讲解了CPU算力的计算方法、算力与数据加载之间的平衡,以及如何通过算力敏感度分析优化计算系统性能。同时,文章还考察了服务器、GPU和超级计算机等平台的性能发展,揭示了这些变化如何塑造我们对CPU性能的理解和期待。
转载:【AI系统】CPU 计算本质
|
人工智能 缓存 并行计算
【AI系统】CPU 计算本质
本文深入探讨了CPU计算性能,分析了算力敏感度及技术趋势对CPU性能的影响。文章通过具体数据和实例,解释了算力计算方法、数据加载与计算的平衡点,以及如何通过算力敏感度分析优化性能瓶颈。同时,文章还讨论了服务器、GPU和超级计算机等不同计算平台的性能发展趋势,强调了优化数据传输速率和加载策略的重要性。
916 4
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
433 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
缓存 人工智能 算法
【AI系统】CPU 计算时延
CPU(中央处理器)是计算机系统的核心,其计算时延(从指令发出到完成所需时间)对系统性能至关重要。本文探讨了CPU计算时延的组成,包括指令提取、解码、执行、存储器访问及写回时延,以及影响时延的因素,如时钟频率、流水线技术、并行处理、缓存命中率和内存带宽。通过优化这些方面,可以有效降低计算时延,提升系统性能。文中还通过具体示例解析了时延产生的原因,强调了内存时延对计算速度的关键影响。
511 0

热门文章

最新文章