[發明專利]一種應用程序智能編譯方法、系統、終端及存儲介質在審
| 申請號: | 202010154813.1 | 申請日: | 2020-03-08 |
| 公開(公告)號: | CN111475165A | 公開(公告)日: | 2020-07-31 |
| 發明(設計)人: | 楊振宇;劉羽;崔坤磊;張敏 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 濟南舜源專利事務所有限公司 37205 | 代理人: | 張營磊 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用程序 智能 編譯 方法 系統 終端 存儲 介質 | ||
本發明提供一種應用程序智能編譯方法、系統、終端及存儲介質,包括:創建編譯數據庫,所述編譯數據庫存儲多種編譯器、多種編譯選項以及歷史編譯方案;根據目標應用程序的輸入條件查找所述編譯數據庫中是否存在匹配的歷史編譯方案:若是,則按照所述匹配歷史編譯方案編譯目標應用程序;若否,則利用多種編譯器和多種編譯選項進行正交編譯得到多種編譯方案,從多種編譯方案中選取最符合輸入條件的編譯方案編譯目標應用程序。本發明對應用程序的編譯過程進行優化,可以大幅縮短應用程序的編譯調優時間,為公司獲得市場先機的同時也為公司節省了人力物力財力。
技術領域
本發明涉及程序編譯技術領域,具體涉及一種應用程序智能編譯方法、系統、終端及存儲介質。
背景技術
當代的應用程序基本上都是由高級語言編寫(如C語言),高級語言編寫的應用程序稱為源程序(或稱為源代碼),源程序由編譯器編譯為機器程序(或稱為機器碼)后才能在計算機上運行。編譯是一個十分復雜的過程,對應用程序的運行性能影響極大,對編譯過程的優化主要體現在編譯器的選擇以及相應編譯器下編譯參數的選擇。然而,對于不同的硬件平臺以及不同運行特征的應用程序,最優的編譯器及編譯參數都是不相同的。
現有技術中,編譯器種類繁多(如gcc、icc、tcc、watcom,等等),而且每一個編譯器的編譯參數都有很多。編譯參數體現為編譯器的運行選項,例如表1所示為gcc編譯器在Linux下的部分運行選項。目前對編譯的優化一般依賴于編程人員的經驗,而對于缺乏經驗的編程人員,或者陌生的硬件平臺或陌生的應用程序,往往采用全面試驗法,這就需要消耗大量的人員精力和物質資源。
發明內容
針對現有技術的上述不足,本發明提供一種應用程序智能編譯方法、系統、終端及存儲介質,以解決上述技術問題。
第一方面,本發明提供一種應用程序智能編譯方法,包括:
創建編譯數據庫,所述編譯數據庫存儲多種編譯器、多種編譯選項以及歷史編譯方案;
根據目標應用程序的輸入條件查找所述編譯數據庫中是否存在匹配的歷史編譯方案:
若是,則按照所述匹配歷史編譯方案編譯目標應用程序;
若否,則利用多種編譯器和多種編譯選項進行正交編譯得到多種編譯方案,從多種編譯方案中選取最符合輸入條件的編譯方案編譯目標應用程序。
進一步的,所述根據目標應用程序的輸入條件查找所述編譯數據庫中是否存在匹配的歷史編譯方案,包括:
設置歷史編譯方案與輸入條件的映射關系;
根據目標應用程序的輸入條件查找編譯數據庫中與目標應用程序輸入條件具有映射關系的歷史編譯方案,所述輸入條件包括應用程序名稱、應用程序運行硬件平臺和應用程序運行特征。
進一步的,所述根據目標應用程序的輸入條件查找所述編譯數據庫中是否存在匹配的歷史編譯方案,包括:
判斷目標應用程序的輸入條件是否存在運行特征:
若否,則從歷史編譯方案中選取常用編譯方案,選取運行結果符合的輸入條件的常用編譯方案編譯目標應用程序。
進一步的,所述利用多種編譯器和多種編譯選項進行正交編譯得到多種編譯方案,從多種編譯方案中選取最符合輸入條件的編譯方案編譯目標應用程序,包括
對編譯器和編譯選項進行正交組合;
根據多種正交組合進行編譯得到多種編譯方案;
選取最符合輸入條件的編譯方案作為目標編譯方案;
將目標編譯方案和輸入條件存儲至編譯數據庫。
第二方面,本發明提供一種應用程序智能編譯系統,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010154813.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種集群DPDK穩定性測試方法、系統、終端及存儲介質
- 下一篇:一種硬盤背板





