一个简单程序耗时长的原因

一个简单程序耗时长的原因,第1张

一个简单程序耗时长的主要原因肯定是过程物族比较复杂呀。

不同类型的复杂性,任何时候,当你在解决一个问题,不仅仅是软件问题,都有两种类型的复杂性:

本质穗祥复杂性——这是包含在问题中的复杂性。如果不解决这种复杂性,就无法解决问题。它也被称为内在复杂性。偶发复杂性——这是用来解决问题的方法和工具所带来的复杂性。这种复杂性不是你要解决的问题的一部分,而是在解决方案中引入的复杂性。它罩族弊也被称为偶然复杂性。

编码程序的一种变式。

CPU在执行语句的时候也是需要耗时的,只是CPU运行速度太快,我们没办法看清楚,所以如果CPU执行语句越多,所需要的时间就越多,根据这个原理,就可以通过让CPU随便执行语句,起到延时的效果,这被称为“软件延时”,CPU执行一条指令耗时近似1us,就可以通过这种办法唤凳加上循环就可以实现延时效果。

程序在不同主频下延时不一样,但这里面一谨段定是个比例关系。打个比方,你的代码是在和晌旅主频为1GHz下的延时,这个参数你延时是5S。但换到2GHZ下,程序不改动的话,延时是2.5秒。

在汇编代码中获取到当前的主频,那么就可以做成自适应的效果,自动按比例改变延时程序内部的计数量。

若是高级语言,比如VS,就能用GetTickCount()来精确延时5s了。其实只要能读出当前时间的精确值,比如直接读BIOS时间,那么就能实现比较精确的5s延时了。不同的CPU在读精确时间的函数上是一样的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12293478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存