我想知道訪問大型數據結構的最佳方式(性能方面)。 大約有上百種方法可以實現,但編譯器最適合進行優化的方法是什麼?訪問嵌套數據結構的最佳方法?
人們可以通過
foo[someindex].bar[indexlist[i].subelement[j]].baz[0]
訪問值或創造一些指針別名像
sometype_t* tmpfoo = &foo[someindex];
tmpfoo->bar[indexlist[i].subelement[j]].baz[0]
或創建參考別名像
sometype_t &tmpfoo = foo[someindex];
tmpfoo.bar[indexlist[i].subelement[j]].baz[0]
等等...
當你測量差異時,你發現了什麼? – 2010-06-03 19:26:07
第一種選擇最慢的可能是由於大量的接入運營商呼叫。 第二個是最好的3. – Blackshark 2010-06-03 23:13:18
請更新您的問題,以表明您已經知道答案,並且這是第二個選項。那麼,請關閉這個問題,因爲你已經知道答案,並且不需要我們任何東西。 – 2010-06-04 02:39:39