Who You Gonna Call: Analyzing the Run-Time Call-Site Behavior of Ruby Applications
Who You Gonna Call: Analyzing the Run-Time Call-Site Behavior of Ruby Applications
复制标题
你要打电话给谁:分析 Ruby 应用程序的运行时调用站点行为
DOI:
10.1145/3563834.3567538
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Kaleba S
中科院分区:
文献类型:
--
作者:
Kaleba S
Applications written in dynamic languages are becoming larger and larger and companies increasingly use multi-million line codebases in production. At the same time, dynamic languages rely heavily on dynamic optimizations, particularly those that reduce the overhead of method calls. In this work, we study the call-site behavior of Ruby benchmarks that are being used to guide the development of upcoming Ruby implementations such as TruffleRuby and YJIT. We study the interaction of call-site lookup caches, method splitting, and elimination of duplicate call-targets. We find that these optimizations are indeed highly effective on both smaller and large benchmarks, methods and closures alike, and help to open up opportunities for further optimizations such as inlining. However, we show that TruffleRuby’s splitting may be applied too aggressively on already-monomorphic call-sites, coming at a run-time cost. We also find three distinct patterns in the evolution of call-site behavior over time, which may help to guide novel optimizations. We believe that our results may support language implementers in optimizing runtime systems for large code-bases built in dynamic languages.
登录
查看更多内容
DOI:
--
发表时间:
2018
期刊:
Proc. ACM Program. Lang.
影响因子:
--
作者:
Benoit Daloze;A. Tal;Stefan Marr;H. Mössenböck;E. Petrank
通讯作者:
E. Petrank
DOI:
--
发表时间:
2021
期刊:
VMIL@SPLASH
影响因子:
--
作者:
Maxime Chevalier;Noah Gibbs;J. Boussier;Si Xing Wu;Aaron Patterson;Kevin Newton;J. Hawthorn
通讯作者:
J. Hawthorn
DOI:
--
发表时间:
2016
期刊:
Dynamic Languages Symposium
影响因子:
--
作者:
Stefan Marr;Benoit Daloze;H. Mössenböck
通讯作者:
H. Mössenböck
DOI:
--
发表时间:
2007
期刊:
影响因子:
--
作者:
H. Sumikura;L. Arendt
通讯作者:
L. Arendt
影响因子:
--
作者:
Flückiger, Olivier;Chari, Guido;Yee, Ming-Ho;Ječmen, Jan;Hain, Jakob;Vitek, Jan
通讯作者:
Vitek, Jan