最近在MFC开发过程中,遇到一个问题,即运行一段程序需要对其进行计时,不能保证每个同时开始的程序或者说是每个同时开始的线程同时结束。测试的时候,为了找到原因,我让线程上跑的程序时间复杂度都保持一致,且未设置优先级,然而同时开始却依旧不能同时结束,或者说差距比较小的同时结束。最后我尝试了一种更加极端的测试,即同一段程序让其运行,看看运行时间是否一致,为了保证测试的精度,我定时器选择的是QueryPerformanceCounter,其精确度可以达到纳秒级的。测试的结果还是和原来一样,每次运行的时间不同且波动很大。

于是我尝试在网上找到原因这个贴子,在测试一段代码运行时间,每次不一样,求问原因这个帖子里面我找了一个很可信的原因:

1、与操作系统的调度有关

2、现在的CPU支持动态调频

同样的程序每次运行的时间不一样相关推荐

  1. matlab 计算程序运行的时间

    Matlab共提供了三种计算程序运行时间的方法. 1.Cputime: 返回matlab启动以来的cpu时间,可以在代码执行前保存当时的cpu时间,然后在程序代码执行结束后用cputime减去之前保存 ...

  2. java基础----如何计算代码运行的时间

    这需要用到一个System类,调用System类中的一个函数currentTimeMillis()获取程序开始时的时间,当程序结束的时候再调用这个函数,获取一下程序结束时的时间,用结束时的时间减去开始 ...

  3. 1分钟解决VS每次运行都显示“正在还原nuget程序包”问题

    1分钟解决VS每次运行都显示"正在还原nuget程序包"问题 参考文章: (1)1分钟解决VS每次运行都显示"正在还原nuget程序包"问题 (2)https: ...

  4. C语言 将程序运行的时间记录在记事本中,下次运行进行读取

    fprintf函数: 头文件 原型 说明 返回值 #include <stdio.h> int fprintf(FILE *stream, const char *format, -); ...

  5. linux让脚本在指定时间运行程序,如何限制Linux命令程序运行的时间

    1. 前言 本文主要讲解如何限制Linux命令程序运行的时间. Linux提供了大量的命令,每个命令都是唯一的,并且在特定的情况下使用.Linux的目标是帮助您尽可能地高效工作.Linux命令的一个属 ...

  6. 18.抽象模板方法———获取程序运行的时间

    需求:获取一段程序运行的时间. 原理: 获取程序开始和结束的额时间并相见即可 获取时间:System.currentTimeMillis(); 当代码完成优化后,就可以解决这类问题. 这种方式,叫模板 ...

  7. python输出运行时间表_Python编程第十二课 了解程序运行的时间

    了解了程序如何运行,我们就可以让我们写的程序变得更快. 介绍 在前面很长一段时间,我们学习建立一个搜索索引,它可以通过一次一次地查看每个条目来响应查询. 当搜索索引检查关键字与我们要找的词相匹配时,就 ...

  8. Python记录程序运行的时间

    Python记录程序运行的时间 内置模块time包含很多与时间相关函数.我们可通过它获得当前的时间和格式化时间输出. import timestart = time.clock()#当中是你的程序el ...

  9. linux 只允许运行指定程序,我命由我不由天!如何只让程序运行指定时间?

    有时候,我们在使用 linux 系统时,会出现下面这样的情景: 一个命令或程序需要很长时间才能运行完毕,在这过程中,系统可能会假死,我们做任何操作都没用,只好重启系统: 我们仅仅想让命令或程序运行指定 ...

最新文章

  1. scp 命令 路径_基于SSH的文件传输:scp命令
  2. 在c++中使用gotoxy
  3. Android 利用jsoup解析 html
  4. 数据库的相关概念 1006
  5. 利用MMCM IP核产生用户时钟
  6. 测者的测试技术手册:AI的自动化单元测试
  7. spring boot first
  8. 笔记学习:关于如何使用ESPwifi模块与51单片机通信
  9. 基于java在线问卷调查系统
  10. html如何改成花体英文字体,花体英文在线转换
  11. 机器学习笔记 - MediaPipe了解 + 结合OpenCV进行人体姿势估计
  12. 了解一下什么是领导力,以及如何培养领导力
  13. 计算股票收盘价的月日均值 matplotlib绘图
  14. python日常实用小脚本-Python实现自动挂机脚本 | 沐雨浥尘
  15. 一个冷门json类JacksonJsonParser中的坑
  16. unturned服务器重置,服务器配置文件Config.json说明
  17. 计算机非全日制硕士 选校,非全日制硕士研究生,到底值不值得报考?看完这篇就懂了!...
  18. 图书馆管理系统(c++语言实现)
  19. Starling 改变Juggler播放速度
  20. VMWARE虚拟机以及LINUX的详细安装教程

热门文章

  1. 考研调剂信息2020计算机专业,30所院校2020考研调剂信息汇总!马上收藏备用!...
  2. Android系统添加USB共享网络
  3. element表单校验
  4. 易语言微凉模块oracle,穿透框架全智能填表微凉网页填表模块及源码
  5. VUE饿了么学习笔记(6)goods界面滚动和点击联动的实现
  6. 联发科、联芯TD合作后期走势分析
  7. oracle12c 一键卸载
  8. 大数据助力广州精准扶贫
  9. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛
  10. 数位dp BZOJ 2757: [SCOI2012]Blinker的仰慕者