一句话:提出首个评估健全渐进类型系统性能的方法,可量化绝对性能及同一系统不同实现的相对性能。
健全渐进类型系统通过运行时检查保证未类型化组件不破坏静态类型组件的保证,但检查会带来与类型/非类型交互频率和性质成比例的开销。文献缺乏严谨的性能测量方法,使实现者难以判断改进效果,开发者难以预测添加类型对性能的影响。本文提出首个评估健全渐进类型系统性能的方法,既能量化一个渐进类型系统的绝对性能,也能比较同一渐进类型系统两个实现的相对性能。作者将该方法应用于20个程序和3个Typed Racket实现,以验证其有效性。
Abstract A sound gradual type system ensures that untyped components of a program can never break the guarantees of statically typed components. This assurance relies on runtime checks, which in turn impose performance overhead in proportion to the frequency and nature of interaction between typed and untyped components. The literature on gradual typing lacks rigorous descriptions of methods for measuring the performance of gradual type systems. This gap has consequences for the implementors of gradual type systems and developers who use such systems. Without systematic evaluation of mixed-typed programs, implementors cannot precisely determine how improvements to a gradual type system affect performance. Developers cannot predict whether adding types to part of a program will significantly degrade (or improve) its performance. This paper presents the first method for evaluating the performance of sound gradual type systems. The method quantifies both the absolute performance of a gradual type system and the relative performance of two implementations of the same gradual type system. To validate the method, the paper reports on its application to 20 programs and 3 implementations of Typed Racket.
@article{paperbot725,
title = {How to evaluate the performance of gradual type systems},
author = {BEN GREENMAN and ASUMU TAKIKAWA and MAX S. NEW and DANIEL FELTEY and ROBERT BRUCE FINDLER and JAN VITEK and MATTHIAS FELLEISEN},
journal = {Journal of Functional Programming},
volume = {29},
year = {2019},
doi = {10.1017/s0956796818000217}
}