paperbot · PL 论文追踪

RSS

How Profilers Can Help Navigate Type Migration

OOPSLA 7(OOPSLA2)2023
Ben Greenman, Matthias Felleisen, Christos Dimoulas

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

Sound migratory typing envisions a safe and smooth refactoring of untyped code bases to typed ones. However, the cost of enforcing safety with run-time checks is often prohibitively high, thus performance regressions are a likely occurrence. Additional types can often recover performance, but choosing the right components to type is difficult because of the exponential size of the migratory typing lattice. In principal though, migration could be guided by off-the-shelf profiling tools. To examine this hypothesis, this paper follows the rational programmer method and reports on the results of an experiment on tens of thousands of performance-debugging scenarios via seventeen strategies for turning profiler output into an actionable next step. The most effective strategy is the use of deep types to eliminate the most costly boundaries between typed and untyped components; this strategy succeeds in more than 50% of scenarios if two performance degradations are tolerable along the way.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot1847,
  title = {How Profilers Can Help Navigate Type Migration},
  author = {Ben Greenman and Matthias Felleisen and Christos Dimoulas},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {OOPSLA2},
  year = {2023},
  doi = {10.1145/3622817}
}