World age in Julia: optimizing method dispatch in the presence of eval

World age in Julia: optimizing method dispatch in the presence of eval
复制标题

Julia 的世界时代:在 eval 存在的情况下优化方法调度

DOI:
10.1145/3428275
复制
发表时间:
2020
影响因子:
--
通讯作者:
Vitek, Jan
Vitek, Jan
中科院分区:
--
文献类型:
--
作者:
Belyakova, Julia;Chung, Benjamin;Gelinas, Jack;Nash, Jameson;Tate, Ross;Vitek, Jan

文献摘要

参考文献

被引文献

相似文献

动态编程语言面临着语义和性能方面的挑战,因为有一些特性可以将新代码注入到正在运行的程序中。Julia编程语言引入了全新的World Age概念,使优化代码不受val最具破坏性的副作用之一的影响:更改现有函数的定义。本文在名为Juliette的核心演算中提供了World Age的第一个形式语义,并展示了World Age如何在val存在的情况下实现编译器优化,如内联。虽然Julia也为程序员提供了绕过World Age的方法,但我们发现这种机制并没有被广泛使用:对超过4,000个注册的Julia包的静态分析显示,只有4%-9%的包绕过了World Age。这表明Julia的语义与程序员的期望一致。
Dynamic programming languages face semantic and performance challenges in the presence of features, such as eval, that can inject new code into a running program. The Julia programming language introduces the novel concept of world age to insulate optimized code from one of the most disruptive side-effects of eval: changes to the definition of an existing function. This paper provides the first formal semantics of world age in a core calculus named juliette, and shows how world age enables compiler optimizations, such as inlining, in the presence of eval. While Julia also provides programmers with the means to bypass world age, we found that this mechanism is not used extensively: a static analysis of over 4,000 registered Julia packages shows that only 4-9% of packages bypass world age. This suggests that Julia's semantics aligns with programmer expectations.
使用 PLT Redex 进行语义工程
DOI: --
发表时间: 2009
期刊:
影响因子: --
作者:
M. Felleisen;R. Findler;M. Flatt
通讯作者: M. Flatt
CommonLoops:融合 Lisp 和面向对象编程
DOI: 10.1145/28697.28700
发表时间: 1986
期刊: Scientific Reports
影响因子: 4.6
作者:
D. Bobrow;K. Kahn;G. Kiczales;L. Masinter;M. Stefik;Frank Zdybel
通讯作者: Frank Zdybel
DOI: 10.1145/1039991.1039992
发表时间: 1992
期刊: ACM Sigplan Lisp Pointers
影响因子: --
作者:
John D. Ramsdell
通讯作者: John D. Ramsdell
DOI: 10.1145/143095.143114
发表时间: 1992-07
期刊: --
影响因子: --
作者:
Urs Hölzle;C. Chambers;D. Ungar
通讯作者: Urs Hölzle;C. Chambers;D. Ungar
方法内联、动态类加载和类型健全性
DOI: 10.5381/jot.2005.4.8.a2
发表时间: 2005
期刊: J. Object Technol.
影响因子: --
作者:
Neal Glew;J. Palsberg
通讯作者: J. Palsberg