五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

自編教材分享:第八章—訪存優(yōu)化(一)

2023-11-01 15:02 作者:先進編譯實驗室  | 我要投稿


為了平衡成本、保持存儲容量及訪存速度,現(xiàn)代計算機的存儲系統(tǒng)中一般采用多種不同的存儲器件結(jié)合即多級層次存儲結(jié)構(gòu)。如下圖所示,最上層的寄存器在處理器芯片內(nèi)直接參與運算,它的速度最快、平均每位的價格最高、容量最小。高速緩存存儲器、主存儲器、輔助存儲器這三個級別的存儲容量依次增大,但存儲速度、價格成本及處理器訪問的頻度依次降低。

寄存器分配

減少全局變量

全局變量的有效范圍在整個程序內(nèi),且全局變量會獨占一個寄存器,導(dǎo)致過程內(nèi)可分配寄存器的數(shù)量減少,因此編碼時應(yīng)盡量減少全局變量的使用。

初始代碼:

優(yōu)化后代碼:

直接讀取寄存器

一般情況下,編譯時主要對標(biāo)量進行分配寄存器,因此在編寫程序時應(yīng)該盡量將數(shù)組變?yōu)闃?biāo)量,這樣可以直接讀取寄存器中的數(shù)據(jù),從而避免每次都從緩存中加載數(shù)據(jù),減少部分程序中數(shù)據(jù)讀寫耗費的時間。對優(yōu)化前后示例進行測試,結(jié)果顯示,標(biāo)量替換前耗時0.96秒,替換優(yōu)化后耗時0.88秒。

原始代碼:

優(yōu)化后代碼:

除此之外,此方法還可以減少內(nèi)存寫的次數(shù)。對代碼進行測試,設(shè)置輸入的數(shù)據(jù)規(guī)模為10000*10000,結(jié)果顯示優(yōu)化前耗時0.35s,優(yōu)化后耗時0.28s,可見對內(nèi)存寫操作的減少會提升程序的性能。

原始代碼:

優(yōu)化后代碼:

優(yōu)化人員除了需要考慮寄存器合理分配的問題之外,還需要防止寄存器溢出。當(dāng)所需寄存器的數(shù)量大于可分配寄存器數(shù)量時,就會出現(xiàn)寄存器溢出,可能會抵消前期調(diào)優(yōu)積累的性能優(yōu)勢。

原始代碼:

匯編代碼:

寄存器重用

當(dāng)數(shù)據(jù)從緩存加載到寄存器后,應(yīng)該盡可能地將后續(xù)還要使用的數(shù)據(jù)保留在寄存器,以避免該數(shù)據(jù)再次從緩存讀取,即寄存器重用可以有效地減少內(nèi)存訪問。

原始代碼:

優(yōu)化后代碼:


自編教材分享:第八章—訪存優(yōu)化(一)的評論 (共 條)

分享到微博請遵守國家法律
香格里拉县| 钦州市| 修水县| 岑巩县| 小金县| 台州市| 永泰县| 邵武市| 腾冲县| 临汾市| 隆昌县| 普宁市| 遂平县| 黄平县| 新宁县| 泗洪县| 鞍山市| 合阳县| 外汇| 克什克腾旗| 合阳县| 乌拉特中旗| 霍邱县| 马关县| 定南县| 铁岭市| 太仆寺旗| 斗六市| 泸州市| 娄底市| 宣威市| 松原市| 林口县| 金沙县| 茶陵县| 奉节县| 青冈县| 珠海市| 象山县| 沁源县| 连云港市|