我想從某個特定的objective-c類中分配x個對象,使它們在內存中連續佈局。該平臺是iOS。在連續的內存塊中分配objective-c對象
我想要解決的實際問題是如何將這些x對象存儲在內存中,以便我可以用盡可能少的緩存未命中來對它們進行迭代。我正在考慮創建一個簡單的C風格的Objective-C對象數組,但是當我使用Obj *obj = [[object alloc] init];
分配這樣一個對象並將其分配給數組中的索引時,我只是存儲指針,所以這顯然不起作用。
我該如何做到這一點?我試圖將面向數據的設計應用到我的iOS遊戲引擎,並且我相信用這種方式在內存中佈置對象會給我一個簡單的性能增益(我錯了嗎?)我目前的引擎只需要很少的調整。
我們今天使用高級語言的部分原因是我們不必處理這樣的事情。是否有一個特別的原因讓你擔心Cocoa集合迭代中的緩存未命中? – 2011-03-06 15:38:53
是的,我正在開發一款iOS遊戲,我想對我的遊戲引擎進行優化。 – Jacob 2011-03-06 16:23:39
是的,但*爲什麼*?您是否分析了您的代碼並發現這會影響性能? – Jim 2011-03-06 17:45:08