1. 程式人生 > >《程式設計珠璣》程式碼之路10:little定律,一個和生活息息相關的結論

《程式設計珠璣》程式碼之路10:little定律,一個和生活息息相關的結論

今天,同學聚會,喝了十瓶啤酒,死皮賴臉的要了一個哥們的電腦,保證自己不會吐上邊哈哈。

哈哈,好啦,進入正題:

Little定律:系統中物體的平均數量等於物體離開系統的平均速率和物體在系統中平均停留時間的乘積。

和大部分定律一樣,乍眼看去,一點用沒有。

現在給出下面一個場景:一個可以容納60人的餐廳,前面有20人排隊,請估計需要等待的時間:

這個問題就可以用little定律做很好的:

假設我們根據以往的資料,知道顧客平均在店內呆3個小時,那麼排隊的顧客需要等待多久:

根據little定律:60 =3* t; 解方程 t = 20得知,每小時大約流出20人,餐廳容納人數是固定的,出來多少就進去多少,所以,前面有20個人,大約需要等待1小時。

這樣,這個和消費者生活息息相關的問題,就不用胡亂猜測了,作為一個程式設計師,試試little定律,一定會有收穫。

場景2:假設一個吞吐量為x的系統,平均需要服務思考時間(操作需要消耗的時間)為z的n個使用者,那麼需要的系統反映時間為r,求這個r值。

根據little定律:n = x (r + z),根據這個方程,可以直接求得r。

一個假想:雙十一期間,根據以往的資料,使用者數量期望值為n,z為使用者反映時間,r為系統響應時間,那麼根據z+r的值作為使用者能夠忍受的範圍,就可以確定我們需要把系統吞吐量優化到什麼程度。

一個不難卻很棒的定律,喝了十瓶酒寫的部落格,不足之處望大家見諒。