我在不同的地方都讀到,這樣做是出于“性能原因”,但是我仍然想知道在哪些特殊情況下通過(guò)16字節(jié)對(duì)齊可以提高性能?;蛘?,無(wú)論如何,選擇它的原因是什么。編輯:我想我以一種誤導(dǎo)的方式寫(xiě)了這個(gè)問(wèn)題。我并不是在問(wèn)處理器為什么使用16字節(jié)對(duì)齊的內(nèi)存才能更快地完成工作,這在文檔中到處都有解釋。我想知道的是,強(qiáng)制16字節(jié)對(duì)齊比只讓程序員在需要時(shí)自己對(duì)齊堆棧更好。我之所以這樣問(wèn)是因?yàn)?,根?jù)我在匯編方面的經(jīng)驗(yàn),堆棧強(qiáng)制執(zhí)行有兩個(gè)問(wèn)題:僅對(duì)執(zhí)行的代碼的不到1%有用(因此,另外99%的實(shí)際開(kāi)銷(xiāo));而且它也是錯(cuò)誤的非常普遍的來(lái)源。因此,我想知道它最終將如何獲得回報(bào)。盡管我對(duì)此仍然不確定,但我接受彼得的答案,因?yàn)樗宋易畛鯁?wèn)題的最詳細(xì)答案。
添加回答
舉報(bào)
0/150
提交
取消