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
中科院分区:
文献类型:
--
作者:
Belyakova, Julia;Chung, Benjamin;Gelinas, Jack;Nash, Jameson;Tate, Ross;Vitek, Jan
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.
登录
查看更多内容
DOI:
--
发表时间:
2009
期刊:
影响因子:
--
作者:
M. Felleisen;R. Findler;M. Flatt
通讯作者:
M. Flatt
影响因子:
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