目录
0x00 阿姆达定律
通俗的讲,想要提升计算机系统的性能,可以提高计算机系统的某一个模块的性能,但是假如这个模块性能提高了10倍,整个计算机系统的性能提高了多少倍呢?这就是阿姆达定律要回答的问题
fe = 改进部件执行时间/系统总时间
re=改进部件性能提升了多少倍
公式理解:加速比和执行时间成反比,假设原来的执行时间为1 ,则现在的执行时间=其他部分的执行时间+提升部分的执行时间
提升部分的执行时间=原来的执行时间/提升比。
假如说re->无穷大倍则s = 1/(1-f) 也就是对一个模块优化无限大倍,整个系统的提升也是有极限的。
并且我们应该对系统的关键部分进行优化,即f应该竟可能大
0x01并行系统的阿姆达定律:
f为系统中可以并行部分的占比
re为系统CPU的核心数
S为加速比
即百分之(1-f)的部分是不能通过CPU核心数提升来提高速度的,但是百分之f的部分可以通过CPU核心数的提升来提升的。