第79部分- Linux x86 64位彙編 優化技巧

第79部分- Linux x86 64位彙編 優化技巧

優化彙編主要是5中常用的方法:

優化運算/優化變量/優化循環/優化條件分支/優化通用子表達式。

減少運算過程中的局部變量的大量使用。

處理變量有3種方式:使用.data或者.bss段內存中定義變量/堆棧中定義局部變量/使用可用的寄存器。將全局變量存儲在FPU中,有個好處是,在使用存儲到FPU時候會有固定的延時,但是處理器可以處理其他指令。

優化循環是應用程序中最消耗時間的部分之一。分支對性能的影響可能是災難性的。預加載到指令緩存中的指令完全失去了利用價值。優化循環,要麼是消除要麼簡化,使用的手段是循環展開。會導致程序變化,具體要看性能提高的收益是否超過程序。

優化條件分支會破壞預加載到指令緩存中的指令,如果採用了沒有預測到的分支,就會導致處理器進行額外的工作。代碼可以減少實現雙重if-then-else語句需要的代碼數量。

      通用表達式使用,可以計算一次永久收益,不用反覆進行計算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章