[發(fā)明專(zhuān)利]軟件優(yōu)化方法及裝置、電子設(shè)備、可讀存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202110694159.8 | 申請(qǐng)日: | 2021-06-22 |
| 公開(kāi)(公告)號(hào): | CN113419709B | 公開(kāi)(公告)日: | 2023-03-24 |
| 發(fā)明(設(shè)計(jì))人: | 趙況平;林炳;林意如 | 申請(qǐng)(專(zhuān)利權(quán))人: | 展訊通信(上海)有限公司 |
| 主分類(lèi)號(hào): | G06F8/20 | 分類(lèi)號(hào): | G06F8/20;G06F8/41 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 張鳳偉;吳敏 |
| 地址: | 201203 上海市浦東新區(qū)張*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 軟件 優(yōu)化 方法 裝置 電子設(shè)備 可讀 存儲(chǔ) 介質(zhì) | ||
一種軟件優(yōu)化方法及裝置、電子設(shè)備、存儲(chǔ)介質(zhì)。所述方法包括:在預(yù)設(shè)場(chǎng)景下對(duì)目標(biāo)軟件時(shí)序分析,確定所述目標(biāo)軟件中關(guān)鍵對(duì)象;所述關(guān)鍵對(duì)象為所述目標(biāo)軟件中的關(guān)鍵程序段或數(shù)據(jù)段;所述關(guān)鍵對(duì)象至少為兩個(gè)以上;所述關(guān)鍵對(duì)象為所述目標(biāo)軟件中執(zhí)行時(shí)間超過(guò)第一預(yù)設(shè)時(shí)長(zhǎng)的對(duì)象;對(duì)所述目標(biāo)軟件中關(guān)鍵對(duì)象進(jìn)行時(shí)間耦合分析,確定存在時(shí)間耦合的關(guān)鍵對(duì)象的信息,以基于所述存在時(shí)間耦合的關(guān)鍵對(duì)象的信息,執(zhí)行對(duì)象預(yù)取操作。所述方法可以適用于任何場(chǎng)景明確的軟件,通用性較好。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種軟件優(yōu)化方法及裝置、電子設(shè)備、存儲(chǔ)介質(zhì)。
背景技術(shù)
Cache存儲(chǔ)器(簡(jiǎn)稱Cache)為高速緩沖存儲(chǔ)器,是位于中央處理器(CentralProcessing Unit,CPU)與內(nèi)存間的一種容量較小但速度很高的存儲(chǔ)器。CPU的速度遠(yuǎn)高于內(nèi)存,當(dāng)CPU直接從內(nèi)存中存取數(shù)據(jù)時(shí)要等待一定時(shí)間周期,而Cache則可以保存CPU剛用過(guò)或循環(huán)使用的一部分?jǐn)?shù)據(jù),如果CPU需要再次使用該部分?jǐn)?shù)據(jù)時(shí)可從Cache中直接調(diào)用,由此可以避免重復(fù)存取數(shù)據(jù),減少CPU的等待時(shí)間,因而提高系統(tǒng)的效率。
當(dāng)前的嵌入式軟件往往運(yùn)行于帶有Cache的處理器上。處理器為了性能、成本及功耗的平衡,絕大部分采用n路組關(guān)聯(lián)映射(n-way set associate mapping)方式,實(shí)現(xiàn)Cache與內(nèi)存間的映射。所謂n路組關(guān)聯(lián)映射,即將Cache分成若干組(set),每一組對(duì)應(yīng)一個(gè)地址。其中,每一組內(nèi)包括多個(gè)塊,每個(gè)塊稱為cache line,一個(gè)內(nèi)存地址可以映射到多個(gè)cacheline中。每一個(gè)set中包含的cache line數(shù)目,即路的數(shù)目。
在采用段式內(nèi)存管理的架構(gòu)中,數(shù)據(jù)段、程序段在軟件運(yùn)行之前就已經(jīng)確定。其中,數(shù)據(jù)段通常是指用來(lái)存放程序中已初始化的全局變量的一塊內(nèi)存區(qū)域。程序段就是一段程序,可以是一個(gè)子過(guò)程(SUB)、一個(gè)函數(shù)(FUNCTION),或者是面向?qū)ο蟪绦蛟O(shè)計(jì)中的一個(gè)方法。
如果前后運(yùn)行的多個(gè)程序段或數(shù)據(jù)段,正好都映射到Cache的同一個(gè)組中,由于同一組的地址相同,那么只要這些程序段或數(shù)據(jù)段的數(shù)目超過(guò)路的數(shù)目,就會(huì)導(dǎo)致cache顛簸(thrashing)。
在嵌入式軟件的優(yōu)化技術(shù)中,通常都是通過(guò)刪減增加程序段或數(shù)據(jù)段,來(lái)嘗試找出性能最優(yōu)的程序段或數(shù)據(jù)段。而這樣的方法,缺乏通用性,場(chǎng)景稍微變化就會(huì)導(dǎo)致軟件性能差異很大,從而無(wú)法系統(tǒng)性使用,只能針對(duì)個(gè)別惡劣場(chǎng)景針對(duì)性優(yōu)化。
發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)題是:如何提高軟件優(yōu)化方案的通用性。
為解決上述問(wèn)題,本發(fā)明實(shí)施例提供了一種軟件優(yōu)化方法,所述方法包括:在預(yù)設(shè)場(chǎng)景下對(duì)目標(biāo)軟件時(shí)序分析,確定所述目標(biāo)軟件中關(guān)鍵對(duì)象;所述關(guān)鍵對(duì)象為所述目標(biāo)軟件中的關(guān)鍵程序段或數(shù)據(jù)段;所述關(guān)鍵對(duì)象至少為兩個(gè)以上;所述關(guān)鍵對(duì)象為所述目標(biāo)軟件中執(zhí)行時(shí)間超過(guò)第一預(yù)設(shè)時(shí)長(zhǎng)的對(duì)象;對(duì)所述目標(biāo)軟件中關(guān)鍵對(duì)象進(jìn)行時(shí)間耦合分析,確定存在時(shí)間耦合的關(guān)鍵對(duì)象的信息,以基于所述存在時(shí)間耦合的關(guān)鍵對(duì)象的信息,執(zhí)行對(duì)象預(yù)取操作。
本發(fā)明實(shí)施例還提供了一種軟件優(yōu)化裝置,所述裝置包括:時(shí)序分析單元,適于在預(yù)設(shè)場(chǎng)景下對(duì)目標(biāo)軟件時(shí)序分析,確定所述目標(biāo)軟件中關(guān)鍵對(duì)象;所述關(guān)鍵對(duì)象為所述目標(biāo)軟件中的關(guān)鍵程序段或數(shù)據(jù)段;所述關(guān)鍵對(duì)象至少為兩個(gè)以上;所述關(guān)鍵對(duì)象為所述目標(biāo)軟件中執(zhí)行時(shí)間超過(guò)第一預(yù)設(shè)時(shí)長(zhǎng)的對(duì)象;時(shí)間耦合分析單元,適于對(duì)所述目標(biāo)軟件中關(guān)鍵對(duì)象進(jìn)行時(shí)間耦合分析,確定存在時(shí)間耦合的關(guān)鍵對(duì)象的信息,以基于所述存在時(shí)間耦合的關(guān)鍵對(duì)象的信息,執(zhí)行對(duì)象預(yù)取操作
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行,以實(shí)現(xiàn)上述方法的步驟。
本發(fā)明實(shí)施例還提供了一種電子設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器上存儲(chǔ)有能夠在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器運(yùn)行所述計(jì)算機(jī)程序時(shí)執(zhí)行上述方法的步驟。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于展訊通信(上海)有限公司,未經(jīng)展訊通信(上海)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110694159.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





