2011-06-15 48 views
1

假設我的機器字是32位長,我必須對8個字符的字符串進行排序。
我讀過如果將字符打包成單詞,比較將更快,因爲您使用對齊的內存訪問。
所以在我們的例子中,我們將字符串分成兩個4字節的字,並使用每個字符串的第一個字進行比較,如果它們碰巧相等,那麼您檢查每個字符串的第二個字。內存對齊訪問速度更快嗎?

性能是否提高?它變得更快嗎?由於編碼變得越來越複雜,它是否得到回報? 如果它有效,它是否適用於所有語言?

+0

我不認爲你會在你真正嘗試之前知道。現在編譯器優化變得越來越複雜,所以試試吧。 – ZhangChn 2011-06-15 19:14:35

+0

你的權利,我沒有想到,哈。我今晚會嘗試。 – Erandros 2011-06-15 19:20:42

回答

1

答案是依賴於架構,編譯器通常在優化這些方面做得很好。除非你正在爲特定的架構編程,否則需要擠出每一點速度並真正瞭解處理器,最好讓編譯器決定對齊。