不同类型的复杂性,任何时候,当你在解决一个问题,不仅仅是软件问题,都有两种类型的复杂性:
本质复杂性——这是包含在问题中的复杂性。如果不解决这种复杂性,就无法解决问题。它也被称为内在复杂性。偶发复杂性——这是用来解决问题的方法和工具所带来的复杂性。这种复杂性不是你要解决的问题的一部分,而是在解决方案中引入的复杂性。它也被称为偶然复杂性。
是计算机中最基本的、最小的时间单位,在一个时钟周期内,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)没有每次都执行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)