2016-10-12 46 views
2

我正在做一個關於多線程的BSc論文,一個參考書目是Anthony Williams的「C++ Concurrency in Action」。它幫助我使用std線程,但有一件事我不確定。對於Amdahl定律提到的公式是Amdahl定律「C++併發在行動」

P(N)= 1 /(F +(1 - F)/ N)

而所有其他來源,我發現給定:

P(N)= 1 /(1 - F + F/N)

在兩種情況下P被性能增益因子,f爲 「串行」,獨立的部分的恆定分數在[0,1] N是一個pr的數字處理者(自然數)。

即使第一種情況下函數的水平漸近線是1/f,而第二個函數中的水平漸近線是1 /(1 - f)。這是錯誤還是我理解錯了?

+2

這不是SO的主題嗎? – Zeta

+0

@澤塔是的。 Way _too broad_/_unclear_。 –

+0

一個具體的編程問題:對於線程,它是一個特定的編程問題 – ipavlu

回答

6

在第一個,f是串行代碼的分數,在第二個,f是並行的分數。

如果你將(1-f)插入到任一方程的f中,你將得到另一個