[發(fā)明專利]對程序預編譯的方法及裝置有效
| 申請?zhí)枺?/td> | 201611254648.7 | 申請日: | 2016-12-30 |
| 公開(公告)號: | CN106775893B | 公開(公告)日: | 2020-03-17 |
| 發(fā)明(設計)人: | 董俊杰;曲雯雯;楊亮 | 申請(專利權)人: | 北京小米移動軟件有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F9/445 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 林錦瀾 |
| 地址: | 100085 北京市海淀區(qū)清河*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 預編 方法 裝置 | ||
1.一種對程序預編譯的方法,其特征在于,所述方法包括:
獲取目標程序的優(yōu)化信息,所述優(yōu)化信息中包括所述目標程序中至少一個待優(yōu)化函數的函數名以及每個待優(yōu)化函數對應的運行階段;
根據所述優(yōu)化信息,對每個運行階段對應的待優(yōu)化函數進行編譯;
所述方法還包括:
在第一程序運行的過程中,每隔預設時間段,統計一次所述第一程序中各函數的調用次數,所述第一程序為智能設備中安裝的任一程序;
向服務器發(fā)送所述第一程序的統計信息,所述統計信息中包括所述第一程序中每個函數的函數名、每個函數的調用次數以及每個函數對應的運行階段。
2.根據權利要求1所述的方法,其特征在于,所述獲取目標程序的優(yōu)化信息,包括:
向服務器發(fā)送針對所述目標程序的優(yōu)化信息的獲取請求,所述獲取請求中包括所述目標程序的標識;
接收服務器發(fā)送的所述目標程序的優(yōu)化信息。
3.根據權利要求1所述的方法,其特征在于,所述每個待優(yōu)化函數對應的運行階段包括:啟動階段、開始運行階段和正常運行階段,
所述根據所述優(yōu)化信息,對每個運行階段對應的待優(yōu)化函數進行編譯,包括:
在所述目標程序啟動前,采用預編譯算法對與所述啟動階段對應的待優(yōu)化函數進行編譯;
在所述目標程序的啟動階段,采用即時編譯算法對與所述開始運行階段對應的待優(yōu)化函數進行動態(tài)編譯;
在所述目標程序的開始運行階段,采用即時編譯算法對與所述正常運行階段對應的待優(yōu)化函數進行動態(tài)編譯。
4.根據權利要求1所述的方法,其特征在于,所述方法還包括:
保存對待優(yōu)化函數進行編譯后得到的機器碼。
5.根據權利要求1所述的方法,其特征在于,
所述預設時間段與所述第一程序的運行時長正相關。
6.根據權利要求1所述的方法,其特征在于,所述方法還包括:
檢測所述第一程序是否為預設程序;
當所述第一程序為預設程序時,根據所述第一程序的統計信息,將所述第一程序中,調用次數大于第一閾值的函數的函數名和對應的運行階段記錄在所述第一程序的優(yōu)化信息中。
7.根據權利要求1至6任一所述的方法,其特征在于,
所述優(yōu)化信息中還包括所述目標程序中至少一個函數經過編譯后的機器碼。
8.一種對程序預編譯的方法,其特征在于,所述方法包括:
接收智能設備發(fā)送的針對目標程序的優(yōu)化信息的獲取請求,所述獲取請求中包括所述目標程序的標識;
根據所述獲取請求,從預先存儲的程序標識和優(yōu)化信息的對應關系中,獲取與所述目標程序的標識對應的優(yōu)化信息,所述優(yōu)化信息中包括所述目標程序中至少一個待優(yōu)化函數的函數名以及每個待優(yōu)化函數對應的運行階段;
將獲取到的優(yōu)化信息發(fā)送至所述智能設備;
所述方法還包括:
接收多個智能設備上報的針對多個程序的統計信息,其中,所述多個程序中的任一程序的統計信息中包括:所述任一程序中每個函數的函數名、每個函數的調用次數以及每個函數對應的運行階段;
根據多個智能設備上報的針對多個程序的統計信息,計算每個程序中,每個函數的平均調用次數;
將每個程序中,平均調用次數大于第一閾值的函數的函數名和對應的運行階段記錄在所述每個程序的優(yōu)化信息中。
9.根據權利要求8所述的方法,其特征在于,所述任一程序的統計信息中還包括所述任一程序的啟動次數,所述方法還包括:
根據多個智能設備上報的針對多個程序的統計信息,從所述多個程序中確定待優(yōu)化程序,所述待優(yōu)化程序為平均啟動次數大于第二閾值的程序;
對所述待優(yōu)化程序中,平均調用次數大于第三閾值的函數進行預編譯;
將預編譯后的機器碼記錄在所述待優(yōu)化程序的優(yōu)化信息中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京小米移動軟件有限公司,未經北京小米移動軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611254648.7/1.html,轉載請聲明來源鉆瓜專利網。





