ネタ元 →
性能向上は難しい──アムダールの法則 アムダールの法則(Amdahl's Law):
性能向上 P = 1/(F+(1-F)/N)
F : 並列化できない部分の割合
N : コア数
なぜにこんな式が導き出せるかっちゅーとですね。
処理全体が10個のブロックでできてるとしましょう。
どのブロックも処理時間は同じってことで、
全体の処理時間は↓こんだけ。
□□□□□□□□□□
このうちF(たとえば4割)が並列化できない黒ブロックとすると
■■■■□□□□□□
ですね。全体が1なら■の割合がF, □の割合が(1-F)です。
んでもって□の部分(1-F)をN個のコアで分担します。N=2 なら
■■■■□□□
□□□
短くなった分早く終わる、つまり性能向上と。
この長さは ■部の長さ + □部の長さ = F + (1-F)/N
性能は処理時間の逆数だから
P = 1/(F+(1-F)/N)
っちゅーわけっす。