同样的程序每次运行的时间不一样

来源:互联网 发布:淘宝联盟能赚钱吗 编辑:程序博客网 时间:2024/05/18 00:08

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

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

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

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

阅读全文
0 0