Type stability in Julia: avoiding performance pathologies in JIT compilation

Proceedings of the ACM on Programming Languages(2021)

引用 2|浏览10
暂无评分
摘要
AbstractAs 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.
更多
查看译文
关键词
method dispatch, type inference, compilation, dynamic languages
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要