Using Procedure Cloning for Performance Optimization of Compiled Dynamic Languages
Identifikátory výsledku
Kód výsledku v IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F00216208%3A11320%2F22%3A10447325" target="_blank" >RIV/00216208:11320/22:10447325 - isvavai.cz</a>
Výsledek na webu
<a href="https://doi.org/10.5220/0011272300003266" target="_blank" >https://doi.org/10.5220/0011272300003266</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.5220/0011272300003266" target="_blank" >10.5220/0011272300003266</a>
Alternativní jazyky
Jazyk výsledku
angličtina
Název v původním jazyce
Using Procedure Cloning for Performance Optimization of Compiled Dynamic Languages
Popis výsledku v původním jazyce
Compilation of dynamic programming languages into strongly typed platforms such as .NET and JVM has proven useful in enhancing the security and interoperability of the resulting programs, as well as in enabling their source-less distribution. In order to produce the best intermediate code possible, dynamic language compilers can employ advanced interprocedural type analysis and perform various optimizing transformations. However, these efforts are often limited due to the ambiguity of types in these languages and the need to preserve soundness. In this paper, we improve the performance of global functions by adapting the technique of procedure cloning, focusing on different parameter types those specialized clones can be called with. We devise several heuristics to identify the most promising specializations and call them from their respective call sites. Our technique was implemented into PeachPie, a compiler of PHP to .NET, and evaluated on standard benchmarks distributed with PHP.
Název v anglickém jazyce
Using Procedure Cloning for Performance Optimization of Compiled Dynamic Languages
Popis výsledku anglicky
Compilation of dynamic programming languages into strongly typed platforms such as .NET and JVM has proven useful in enhancing the security and interoperability of the resulting programs, as well as in enabling their source-less distribution. In order to produce the best intermediate code possible, dynamic language compilers can employ advanced interprocedural type analysis and perform various optimizing transformations. However, these efforts are often limited due to the ambiguity of types in these languages and the need to preserve soundness. In this paper, we improve the performance of global functions by adapting the technique of procedure cloning, focusing on different parameter types those specialized clones can be called with. We devise several heuristics to identify the most promising specializations and call them from their respective call sites. Our technique was implemented into PeachPie, a compiler of PHP to .NET, and evaluated on standard benchmarks distributed with PHP.
Klasifikace
Druh
D - Stať ve sborníku
CEP obor
—
OECD FORD obor
10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)
Návaznosti výsledku
Projekt
<a href="/cs/project/GA20-07487S" target="_blank" >GA20-07487S: Škálovatelné techniky pro analýzu komplexních vlastností počítačových systémů</a><br>
Návaznosti
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)
Ostatní
Rok uplatnění
2022
Kód důvěrnosti údajů
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Údaje specifické pro druh výsledku
Název statě ve sborníku
Proceedings of the 17th International Conference on Software Technologies
ISBN
978-989-758-588-3
ISSN
2184-2833
e-ISSN
—
Počet stran výsledku
12
Strana od-do
175-186
Název nakladatele
SciTePress, Science and Technology Publications, Lda
Místo vydání
Neuveden
Místo konání akce
Lisabon
Datum konání akce
11. 7. 2022
Typ akce podle státní příslušnosti
WRD - Celosvětová akce
Kód UT WoS článku
—