SPLASH 2021 (series) / OOPSLA / Type Stability in Julia: Avoiding Performance Pathologies in JIT Compilation
Type Stability in Julia: Avoiding Performance Pathologies in JIT CompilationIn-Person
Thu 21 Oct 2021 14:35 - 14:50 at Zurich D - Types Chair(s): Christos Dimoulas
Thu 21 Oct 2021 22:35 - 22:50 at Zurich D - Types - mirror Chair(s): Wei-Ngan Chin
Thu 21 Oct 2021 22:35 - 22:50 at Zurich D - Types - mirror Chair(s): Wei-Ngan Chin
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.
Thu 21 OctDisplayed time zone: Central Time (US & Canada) change
Thu 21 Oct
Displayed time zone: Central Time (US & Canada) change
13:50 - 15:10 | |||
13:50 15mTalk | Study of the Subtyping Machine of Nominal Subtyping with VarianceVirtual OOPSLA Ori Roth Technion DOI Pre-print Media Attached | ||
14:05 15mTalk | Label Dependent Lambda Calculus and Gradual TypingVirtual OOPSLA Weili Fu University of Edinburgh, Fabian Krause University of Freiburg, Peter Thiemann University of Freiburg, Germany DOI | ||
14:20 15mTalk | Relational Nullable Types with Boolean UnificationVirtual OOPSLA DOI | ||
14:35 15mTalk | Type Stability in Julia: Avoiding Performance Pathologies in JIT CompilationIn-Person OOPSLA Artem Pelenitsyn Northeastern University, Julia Belyakova Northeastern University, Benjamin Chung Northeastern University, Ross Tate Cornell University, Jan Vitek Northeastern University; Czech Technical University DOI Pre-print Media Attached | ||
14:50 20mLive Q&A | Discussion, Questions and Answers OOPSLA |
21:50 - 23:10 | |||
21:50 15mTalk | Study of the Subtyping Machine of Nominal Subtyping with VarianceVirtual OOPSLA Ori Roth Technion DOI Pre-print Media Attached | ||
22:05 15mTalk | Label Dependent Lambda Calculus and Gradual TypingVirtual OOPSLA Weili Fu University of Edinburgh, Fabian Krause University of Freiburg, Peter Thiemann University of Freiburg, Germany DOI | ||
22:20 15mTalk | Relational Nullable Types with Boolean UnificationVirtual OOPSLA DOI | ||
22:35 15mTalk | Type Stability in Julia: Avoiding Performance Pathologies in JIT CompilationIn-Person OOPSLA Artem Pelenitsyn Northeastern University, Julia Belyakova Northeastern University, Benjamin Chung Northeastern University, Ross Tate Cornell University, Jan Vitek Northeastern University; Czech Technical University DOI Pre-print Media Attached | ||
22:50 20mLive Q&A | Discussion, Questions and Answers OOPSLA |