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

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

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

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

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

是计算机中最基本的、最小的时间单位,在一个时钟周期内,CPU仅完成一个最基本的动作。

在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。

例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本 *** 作(注意:每一个基本 *** 作都是由若干CPU最基本的动作组成)。完成一个基本 *** 作所需要的时间称为机器周期。通常用内存中读取一个指令的最短时间来规定CPU周期。

对于一个指令周期来说,我们取出一条指令,然后执行它,至少需要两个 CPU 周期。取出指令至少需要一个 CPU 周期,执行至少也需要一个 CPU 周期,复杂的指令则需要更多的 CPU 周期。而一个CPU周期是若干时钟周期之和。

一个Add指令的执行时间约为43个时钟周期。

测试机器:Macbook: 2.3 GHz 8-Core Intel Core i9

执行Add 10亿次,平均耗时2500ms.

2.3GHz CPU每秒23亿个时钟周期,2.5秒约57亿个时钟周期;

执行10亿次+1和<while条件判断,每次耗时5个时钟周期。

说明循环中(fetch,load,store)没有每次都执行。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存