Type stability in Julia: Avoiding performance pathologies in JIT compilation
Identifikátory výsledku
Kód výsledku v IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F68407700%3A21240%2F21%3A00354188" target="_blank" >RIV/68407700:21240/21:00354188 - isvavai.cz</a>
Výsledek na webu
<a href="https://doi.org/10.1145/3485527" target="_blank" >https://doi.org/10.1145/3485527</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.1145/3485527" target="_blank" >10.1145/3485527</a>
Alternativní jazyky
Jazyk výsledku
angličtina
Název v původním jazyce
Type stability in Julia: Avoiding performance pathologies in JIT compilation
Popis výsledku v původním jazyce
As a scientific programming language, Julia strives for performance but also provides high-level productivity features. To avoid performance pathologies, Julia users are expected to adhere to a coding discipline that enables so-called type stability. Informally, a function is type stable if the type of the output depends only on the types of the inputs, not their values. This paper provides a formal definition of type stability as well as a stronger property of type groundedness, shows that groundedness enables compiler optimizations, and proves the compiler correct. We also perform a corpus analysis to uncover how these type-related properties manifest in practice.
Název v anglickém jazyce
Type stability in Julia: Avoiding performance pathologies in JIT compilation
Popis výsledku anglicky
As a scientific programming language, Julia strives for performance but also provides high-level productivity features. To avoid performance pathologies, Julia users are expected to adhere to a coding discipline that enables so-called type stability. Informally, a function is type stable if the type of the output depends only on the types of the inputs, not their values. This paper provides a formal definition of type stability as well as a stronger property of type groundedness, shows that groundedness enables compiler optimizations, and proves the compiler correct. We also perform a corpus analysis to uncover how these type-related properties manifest in practice.
Klasifikace
Druh
J<sub>ost</sub> - Ostatní články v recenzovaných periodicích
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/EF15_003%2F0000421" target="_blank" >EF15_003/0000421: Big Code: Škálovatelná analýza rozsáhlých bází programů</a><br>
Návaznosti
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)
Ostatní
Rok uplatnění
2021
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 periodika
Proceedings of the ACM on Programming Languages (PACMPL)
ISSN
2475-1421
e-ISSN
—
Svazek periodika
5
Číslo periodika v rámci svazku
150
Stát vydavatele periodika
US - Spojené státy americké
Počet stran výsledku
26
Strana od-do
1-26
Kód UT WoS článku
000731569200053
EID výsledku v databázi Scopus
2-s2.0-85117611514