阿姆达尔定律可以用来计算处理器并行运算之后效率提升的能力。
一个程序分为可并行化部分和不可并行化部分。
假设程序全部串行执行的时间为T,不可并行化部分的执行时间为B,那么可并行化部分执行时间为:T-B。
如果可并行化部分的并行数量为N,那么程序执行的总时间为:T(N)=B + (T - B) / N。
如果不可并行部分的优化因子为o,那么程序执行的总时间为:T(o, N)=B / o + (T - B / o) / N。
程序加速比为:T / T(o, N)
程序采用并行化后的实际执行时间最后还是需要通过测量,姆达尔定律只能给我提供程序优化的思路和理论。