JP7393404B2 - コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム - Google Patents
コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム Download PDFInfo
- Publication number
- JP7393404B2 JP7393404B2 JP2021155593A JP2021155593A JP7393404B2 JP 7393404 B2 JP7393404 B2 JP 7393404B2 JP 2021155593 A JP2021155593 A JP 2021155593A JP 2021155593 A JP2021155593 A JP 2021155593A JP 7393404 B2 JP7393404 B2 JP 7393404B2
- Authority
- JP
- Japan
- Prior art keywords
- source file
- subset
- source
- files
- compilation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 65
- 238000003860 storage Methods 0.000 title claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- HRUYBRGMRSNLNW-UHFFFAOYSA-N 6-methoxy-2-[(4-methylphenyl)methylsulfanyl]-1h-benzimidazole Chemical compound N1C2=CC(OC)=CC=C2N=C1SCC1=CC=C(C)C=C1 HRUYBRGMRSNLNW-UHFFFAOYSA-N 0.000 description 1
- 101100294181 Arabidopsis thaliana AFPH2 gene Proteins 0.000 description 1
- AFCARXCZXQIEQB-UHFFFAOYSA-N N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CCNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 AFCARXCZXQIEQB-UHFFFAOYSA-N 0.000 description 1
- 101100460559 Oryza sativa subsp. japonica NINJA1 gene Proteins 0.000 description 1
- 102100033616 Phospholipid-transporting ATPase ABCA1 Human genes 0.000 description 1
- 101710205202 Phospholipid-transporting ATPase ABCA1 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4435—Detection or removal of dead or redundant code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/49—Partial evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Description
以下、図面を参照して、本開示の好ましい実施例をより詳細に説明する。本開示の好ましい実施例が図面に示されてきたが、本開示は、様々な形態で実現されてよく、ここで説明される実施例に限定されるものではないことが理解されるべきである。むしろ、これらの実施例は、本開示をより明瞭かつ完全にするために提供され、本開示の範囲を当業者に完全に伝えることができる。
Claims (21)
- ソースファイルのプログラミング言語の類型について、同じ類型のソースファイルを含むソースファイルセットを取得することと、
前記ソースファイルセットに関連する予め定められた組合せ規則に基づいて、前記ソースファイルセットにおける複数のソースファイルを少なくとも1つのソースファイルサブセットに組み合わせることと、
各ソースファイルサブセットを全体としてコンパイルすることと、
前記ソースファイルセットの前記類型に基づいて、前記ソースファイルセットに関連する前記予め定められた組合せ規則を特定することと、を含む
コンパイル方法。 - 前記予め定められた組合せ規則は、
前記ソースファイルのコンパイル時間、
前記ソースファイルのサイズ、
前記ソースファイルがコンパイルされた後のサイズ、
前記ソースファイルを組合せてコンパイルした際のコンフリクト状況、
のうちの少なくとも1つに基づいて生成される
請求項1に記載の方法。 - 複数のソースファイルを少なくとも1つのソースファイルサブセットに組み合わせることは、
前記予め定められた組合せ規則によって指示される少なくとも1つの規則指定ソースファイルサブセットに基づいて、前記複数のソースファイルを、前記少なくとも1つのソースファイルサブセットに組み合わせ、各ソースファイルサブセットは、当該ソースファイルサブセットと対応している規則指定ソースファイルサブセットのうちのサブセットであることを含む
請求項1に記載の方法。 - 前記予め定められた組合せ規則に基づいて、ヌルファイルを含む前記少なくとも1つのソースファイルサブセットとして、ヌルファイルを含む少なくとも1つの規則指定ソースファイルサブセットを生成することをさらに含む
請求項1に記載の方法。 - 各ソースファイルサブセットを全体としてコンパイルすることは、
ソースファイルサブセットに含まれるコンテンツが組み合わされた既存のソースファイルサブセットと異なると特定することに基づいて、前記ソースファイルサブセットを全体としてコンパイルすることを含む
請求項1に記載の方法。 - ソースファイルサブセットに含まれるコンテンツが組み合わされた既存のソースファイルサブセットと異なると特定することは、
前記ソースファイルサブセットの名称が、組み合わされた既存のソースファイルサブセットの名称と異なると特定することを含む
請求項5に記載の方法。 - 前記ソースファイルサブセットの前記名称は、前記予め定められた組合せ規則に基づいて生成される
請求項6に記載の方法。 - 前記ソースファイルサブセットと同じ名称を有する組み合わせた既存のソースファイルサブセットを削除することをさらに含む
請求項5に記載の方法。 - 前記ソースファイルセットにおける、前記少なくとも1つのソースファイルサブセットに含まれないソースファイルをコンパイルすることをさらに含む
請求項1に記載の方法。 - ソースファイルのプログラミング言語の類型について、同じ類型のソースファイルを含むソースファイルセットを取得するように配置される取得モジュールと、
前記ソースファイルセットに関連する予め定められた組合せ規則に基づいて、前記ソースファイルセットにおける複数のソースファイルを少なくとも1つのソースファイルサブセットに組み合わせるように配置される第1の組合せモジュールと、
各ソースファイルサブセットを全体としてコンパイルするように配置される第1のコンパイルモジュールと、
前記ソースファイルセットの前記類型に基づいて、前記ソースファイルセットに関連する前記予め定められた組合せ規則を特定するように配置される第1の特定モジュールと、
を含む
コンパイル装置。 - 前記予め定められた組合せ規則は、
前記ソースファイルのコンパイル時間、
前記ソースファイルのサイズ、
前記ソースファイルがコンパイルされた後のサイズ、
前記ソースファイルを組合せてコンパイルした際のコンフリクト状況、
のうちの少なくとも1つに基づいて生成される
請求項10に記載の装置。 - 前記第1の組合せモジュールは、
前記予め定められた組合せ規則によって指示される少なくとも1つの規則指定ソースファイルサブセットに基づいて、前記複数のソースファイルを、前記少なくとも1つのソースファイルサブセットに組み合わせ、各ソースファイルサブセットは、当該ソースファイルサブセットと対応している規則指定ソースファイルサブセットのうちのサブセットであるように配置される第2の組合せモジュールを含む
請求項10に記載の装置。 - 前記予め定められた組合せ規則に基づいて、ヌルファイルを含む前記少なくとも1つのソースファイルサブセットとして、ヌルファイルを含む少なくとも1つの規則指定ソースファイルサブセットを生成するように配置される生成モジュールをさらに含む
請求項10に記載の装置。 - 前記第1のコンパイルモジュールは、
ソースファイルサブセットに含まれるコンテンツが組み合わされた既存のソースファイルサブセットと異なると特定することに基づいて、前記ソースファイルサブセットを全体としてコンパイルするように配置される第2のコンパイルモジュールを含む
請求項10に記載の装置。 - 前記第2のコンパイルモジュールは、
前記ソースファイルサブセットの名称が、組み合わされた既存のソースファイルサブセットの名称と異なると特定するように配置される第2の特定モジュールを含む
請求項14に記載の装置。 - 前記ソースファイルサブセットの前記名称は、前記予め定められた組合せ規則に基づいて生成される
請求項15に記載の装置。 - 前記ソースファイルサブセットと同じ名称を有する組み合わせた既存のソースファイルサブセットを削除するように配置される削除モジュールをさらに含む
請求項14に記載の装置。 - 前記ソースファイルセットにおける、前記少なくとも1つのソースファイルサブセットに含まれないソースファイルをコンパイルするように配置される第3のコンパイルモジュールをさらに含む
請求項10に記載の装置。 - 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されたメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記プロセッサによって実行され、前記少なくとも1つのプロセッサに請求項1~9のいずれか一項に記載の方法を実行させることを可能にする
電子デバイス。 - コンピュータに請求項1~9のいずれか一項に記載の方法を実行させるためのコンピュータ命令を記憶した非一時的コンピュータ可読記憶媒体。
- プロセッサによって実行されたときに、請求項1~9のいずれか一項に記載の方法を実行するコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110309279.1A CN113031961B (zh) | 2021-03-23 | 2021-03-23 | 编译方法、编译装置、电子设备、存储介质和程序产品 |
CN202110309279.1 | 2021-03-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021192318A JP2021192318A (ja) | 2021-12-16 |
JP7393404B2 true JP7393404B2 (ja) | 2023-12-06 |
Family
ID=76472910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021155593A Active JP7393404B2 (ja) | 2021-03-23 | 2021-09-24 | コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220107791A1 (ja) |
EP (1) | EP4064037A1 (ja) |
JP (1) | JP7393404B2 (ja) |
KR (1) | KR20210124110A (ja) |
CN (1) | CN113031961B (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282438A1 (en) | 2013-03-15 | 2014-09-18 | United Parcel Service Of America, Inc. | Methods, apparatuses and computer program products for improving productivity for building applications |
CN109614106A (zh) | 2018-12-21 | 2019-04-12 | 北京龙创悦动网络科技有限公司 | 一种c++程序编译方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05120025A (ja) * | 1991-10-29 | 1993-05-18 | Nec Software Ltd | ソースプログラムのインライン展開方法 |
JP5856393B2 (ja) * | 2011-06-07 | 2016-02-09 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
US8516457B2 (en) * | 2011-06-28 | 2013-08-20 | International Business Machines Corporation | Method, system and program storage device that provide for automatic programming language grammar partitioning |
GB2521367A (en) * | 2013-12-17 | 2015-06-24 | Ibm | Adaptable and extensible runtime and system for heterogeneous computer systems |
JP6500626B2 (ja) * | 2015-06-16 | 2019-04-17 | 富士通株式会社 | 計算機、コンパイラプログラム、リンクプログラムおよびコンパイル方法 |
US9727317B2 (en) * | 2015-11-04 | 2017-08-08 | International Business Machines Corporation | Optimized compilation using an auto-tuned compiler as a service |
CN107291522B (zh) * | 2016-04-11 | 2020-09-29 | 中国科学院信息工程研究所 | 一种面向自定义规则文件的编译优化方法及系统 |
CN106484428B (zh) * | 2016-10-20 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 应用构建方法和装置 |
CN107908407B (zh) * | 2017-12-11 | 2021-09-07 | 北京奇虎科技有限公司 | 编译方法、装置及终端设备 |
US10846081B2 (en) * | 2019-04-11 | 2020-11-24 | Mastercard International Incorporated | System and method for code synchronization between mainframe environment and distributed environment |
-
2021
- 2021-03-23 CN CN202110309279.1A patent/CN113031961B/zh active Active
- 2021-09-22 EP EP21198242.6A patent/EP4064037A1/en not_active Withdrawn
- 2021-09-23 KR KR1020210126009A patent/KR20210124110A/ko not_active Application Discontinuation
- 2021-09-24 JP JP2021155593A patent/JP7393404B2/ja active Active
- 2021-12-15 US US17/552,151 patent/US20220107791A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282438A1 (en) | 2013-03-15 | 2014-09-18 | United Parcel Service Of America, Inc. | Methods, apparatuses and computer program products for improving productivity for building applications |
CN109614106A (zh) | 2018-12-21 | 2019-04-12 | 北京龙创悦动网络科技有限公司 | 一种c++程序编译方法和装置 |
Non-Patent Citations (2)
Title |
---|
CATANZARO, M,"On Compiling WebKit (now twice as fast!)",MICHAEL CATANZARO'S BLOG On Fedora Workstation, GNOME, Epiphany, and WebKitGTK [online],2018年,pp. 1-6,[retrieved on 2022.09.16], Retrieved from the Internet: <URL: https://blogs.gnome.org/mcatanzaro/2018/02/17/on-compiling-webkit-now-twice-as-fast/> |
窪田貴文 ほか,"WebKitにおけるUnified Buildsについての調査",情報処理学会研究報告システムソフトウェアとオペレーティング・システム(OS),日本,一般社団法人情報処理学会,2019年,第2019-OS-145巻, 第9号,pp. 1-6,ISSN 2188-8795 |
Also Published As
Publication number | Publication date |
---|---|
US20220107791A1 (en) | 2022-04-07 |
KR20210124110A (ko) | 2021-10-14 |
CN113031961A (zh) | 2021-06-25 |
JP2021192318A (ja) | 2021-12-16 |
EP4064037A1 (en) | 2022-09-28 |
CN113031961B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027722B (zh) | 在编译和部署中动态更新应用 | |
JP7324831B2 (ja) | ディープラーニングフレームワークにおける演算子の展開方法、展開装置及び電子機器 | |
US10481884B2 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
US9009183B2 (en) | Transformation of a system change set from machine-consumable form to a form that is readily consumable by a human | |
US10331425B2 (en) | Automated source code adaption to inject features between platform versions | |
CN111625224A (zh) | 代码生成方法、装置、设备及存储介质 | |
US9311077B2 (en) | Identification of code changes using language syntax and changeset data | |
CN109313547B (zh) | 用于cpu利用率和代码重构的查询优化器 | |
US20170220613A1 (en) | Systems and methods for database orientation transformation | |
US10248409B1 (en) | Limiting the effects of source code patches on corresponding native-code patches | |
WO2017087801A1 (en) | Dynamic update of an application in compilation and deployment | |
CN116028028A (zh) | 请求函数生成方法、装置、设备及存储介质 | |
US11029934B2 (en) | Method and system for updating legacy software | |
US8875089B2 (en) | Workspace model for interrelated projects | |
US10545741B2 (en) | Information processing apparatus, method of compiling, and storage medium | |
US20140372488A1 (en) | Generating database processes from process models | |
JP7393404B2 (ja) | コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム | |
CN112270176B (zh) | 深度学习框架中模式转换的方法、装置和计算机存储介质 | |
US11429358B2 (en) | Representing asynchronous state machine in intermediate code | |
CN114168151A (zh) | 基于容器的程序编译方法、装置、电子设备及存储介质 | |
CN113448852A (zh) | 一种测试案例的获取方法、装置、电子设备及存储介质 | |
US20110296389A1 (en) | Mechanism for Allocating Statement Frontier Annotations to Source Code Statements | |
US12032941B2 (en) | Method and system for updating legacy software | |
CN114168150A (zh) | 应用程序编译方法、装置、电子设备及存储介质 | |
CN115145627A (zh) | 插件本地运行环境的搭建方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210924 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230719 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7393404 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |