Title
How to evaluate the performance of gradual type systems.
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.
Year
DOI
Venue
2019
10.1017/S0956796818000217
JOURNAL OF FUNCTIONAL PROGRAMMING
Field
DocType
Volume
Programming language,Computer science
Journal
29
ISSN
Citations 
PageRank 
0956-7968
1
0.35
References 
Authors
2
7
Name
Order
Citations
PageRank
Ben Greenman1333.78
Asumu Takikawa2443.19
Max S. New3181.00
Daniel Feltey4181.00
Robert Bruce Findler590467.67
Jan Vitek611.70
Matthias Felleisen73001272.57