vs2015跑相同代码,相同输入,每次运行时间为什么会相差很多?

今天把opencv的fast角点检测移植出来(可以不必管这个到底什么功能),反正是一个fast_function,我让这个算法按完全相同的输入执行100次,每次计算得到的时间居然不一样(16毫秒到60毫秒不等),求解原因。
平台是vs2015

其实我还是觉得你应该去看一下这个函数到底是怎么运行的。因为有些启发式算法是会随机漂移,如果赶上那条收敛比较快的路径,就会更快得到结果。还有一个原因,有可能是计时的函数不准。在MSDN里好像对time函数有解释,貌似有个10毫秒的误差。这些都是排除了机器的原因下的可能,那整个操作系统的资源分配,也是有可能造成时间不等的原因。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-28
这很简单呀。在主页后台设置一个属性bool型的就成。你打开窗体后,如果默认是false,你设置为true。如果是ture么,你就在打开窗体的时候ShowDialog报打开错误的指示框。

是当你关闭一个窗体的时候,窗体实例就没回收了,或是在前台区域就没有加载了。所以无法设置 Visibility 或者调用 Show或ShowDialog。追问

采纳数目都2万的人了,还在这里水答案?

第2个回答  2019-10-28
输入仅仅是变量之一
还有硬件负载的差异,CPU处于重负载和轻负载结果自然不同,而且基本无法控制这一变量
所以做计算算法复杂度才不直接以程序运行时间来作为判断,变量完全不可控啊

vs2015跑相同代码,相同输入,每次运行时间为什么会相差很多?
还有一个原因,有可能是计时的函数不准。在MSDN里好像对time函数有解释,貌似有个10毫秒的误差。这些都是排除了机器的原因下的可能,那整个操作系统的资源分配,也是有可能造成时间不等的原因。

为何我写的VC++程序输入有延迟 我用VS2015环境,VC++写了一个关于输入...
因为MFC程序在运行时需要一些DLL文件的支持,你从集成开发环境下编译运行时,有默认的路径来调用这些所需的DLL,因此运行不会有问题。而当你单独运行文件夹下的可执行程序时,如果一开始选择的是作为共享的DLL,则就会因为可执行程序的当前路径下没有所需的DLL文件而无法运行。解决方法:一种是打包程序,...

vs2015为神马代码可以运行,但调试时按F11,每次都会出现 vs2015未响应...
调试时按F10\/F11巨卡无比的原因是打开了 IntelliTrace, 去选项里把这个关掉,再调试巨流畅!其它的设置都不是关键点 实在不行就在控制面板里面找到VS2015,修复一下。

VS2015运行VS2012的代码,出现这个错误,朋友的电脑运行没问题。_百度...
是当你关闭一个窗体的时候,窗体实例就没回收了,或是在前台区域就没有加载了。所以无法设置 Visibility 或者调用 Show或ShowDialog。

VS2015中为什么使用scanf_s %s输入字符串后printf()不能打印 如图所示...
请看正确答案:你的代码写的是str,2. 此时只能输入1个字符。你输入了"as"2个字符,已经把str,2撑爆了。你的scanf_s的运行结果,返回值一定是0,扫描失败了!!扫描失败了str里面就是随机值,[0]一般是0,你打印的话就什么都没有显示了。你如果想输入as,那个scanf_s的参数必须是至少3,才对...

vs2015怎么设置运行程序出错了会跳到错误的代码处
在调试-窗口-异常设置中勾选第二项(注意打勾)

VS2015C++为什么输入一个小数自动就是double
这样的C++编译器才是遵循C++标准的严格类型检查的编译器,只有带f后缀的浮点数才被认为是准确的float类型,不带f后缀的是double类型的字面量,虽然也可以赋值给double变量但是可能有精度误差。以前的VC不标准。可以看下很多图形\/游戏引擎的实现(cocos2d-x, OGRE),它们里面的浮点字面量都是带f后缀的...

我想用VS2015(或其它版本,或其它软件)编一个.exe的计算程序,比如输入...
建议你用VB6来做,一是因为基本上可以使用你EXCEL VBA的代码,二是生成的EXE文件什么机器都能运行。VS语法有差异,生成的EXE文件运行需要对应版本的.NET环境。

为什么VS2015运行一个Hello World的C语言程序会闪一下跳出来
一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:1 通过getch函数驻留。getch会等待从屏幕的输入,在main函数退出前,增加 getch();调用,系统会等待输入,直到有新的输入,才会退出界面。2 通过system("pause");来实现...

vs 2015写fortran执行后无法输入
程序运行是正常的,没问题。之所以没有输入就输出是因为你没有写read语句 变量定义后,不显式初始化,其值为任意值(这个值取决于系统状态,但是不是随机值),就像你的控制台窗口输出的-1.0737418e+08 示例代码:

相似回答