Making collection operations optimal with aggressive JIT compilation

Author(s):  
Aleksandar Prokopec ◽  
David Leopoldseder ◽  
Gilles Duboscq ◽  
Thomas Würthinger
Keyword(s):  
2021 ◽  
Vol 5 (OOPSLA) ◽  
pp. 1-26
Author(s):  
Artem Pelenitsyn ◽  
Julia Belyakova ◽  
Benjamin Chung ◽  
Ross Tate ◽  
Jan Vitek

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.


2012 ◽  
Vol 47 (2) ◽  
pp. 13-24 ◽  
Author(s):  
Mason Chang ◽  
Bernd Mathiske ◽  
Edwin Smith ◽  
Avik Chaudhuri ◽  
Andreas Gal ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document