2012-09-18 23 views
0

最近我正在學習Nginx的源代碼。當我對內存管理設計感興趣時,我發現它很有趣,當它們定義NGX_POOL_ALIGNMENT和NGX_DEFAULT_POOL_SIZE的大小時,有什麼關注?爲什麼他們有這樣的內存對齊設計?爲什麼Nginx的內存對齊要求

我真的希望有人可以給我關於這些問題的一些技巧,我們可以有進一步的討論,如果你也有興趣在nginx的實施,並願意跟我分享一下你的經驗:d。

順便說一句,我在看nginx的1.2.3這是他們隊中所述的穩定版本。

+0

SO不是論壇。所以不要指望在這裏有進一步的討論。有效地,您提出的這些問題通常會更好地放在所討論軟件的開發列表中。在這裏,不太可能有人碰巧知道這件事。 –

+0

好的,也許我在錯誤的地方問了這個問題,抱歉,謝謝你提醒我。 –

回答

0

你或許應該問Nginx的開發者。我的猜測是,他們只是將內容對齊到緩存行(或多個緩存行)。

顯然,他們這樣做的性能。

+0

這不是一個答案,而是一個評論。 –

+0

嗯,是的,沒有。這個問題在它被問到的形式(NginX)中是非常本地化的,從這個意義上說,除了'請求開發人員的說明'外,它幾乎是無法回答的。但是爲什麼內存對齊(除了malloc已經保證的內容)之類的潛在的一般問題是(或可能)需要的,那麼通過與cacheline對齊的'performance'就是一個答案(我可以想象的唯一另一個可能與頁面對齊有關的問題)。 –

+0

謝謝模擬文件。雖然你沒有直接回答我的問題:P。但我的確把這個問題放在了錯誤的地方。謝謝你回答我的問題! –