Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Wed 25 Oct 2017 13:30 - 13:52 at Regency A - Gradual Types and Memory Chair(s): Jennifer B. Sartor

While gradual typing has proven itself attractive to programmers, many systems have avoided sound gradual typing due to the run time overhead of enforcement. In the context of sound gradual typing, both anecdotal and systematic evidence has suggested that run time costs are quite high, and often unacceptable, casting doubt on the viability of soundness as an approach.

We show that these overheads are not fundamental, and that with appropriate improvements, \textbf{just-in-time compilers can greatly reduce the overhead of sound gradual typing}. Our study takes benchmarks published in a recent paper on gradual typing performance in Typed Racket (Takikawa et al., POPL 2016) and evaluates them using a experimental tracing JIT compiler for Racket, called Pycket. On typical benchmarks, Pycket is able to eliminate more than 90% of the gradual typing overhead. While our current results are not the final word in optimizing gradual typing, we show that the situation is not dire, and where more work is needed.

Pycket's performance comes from several sources, which we detail and measure individually. First, we apply a sophisticated tracing JIT compiler and optimizer, automatically generated in Pycket using the RPython framework originally created for PyPy. Second, we focus our optimization efforts on the challenges posed by run time checks, implemented in Racket by \emph{chaperones and impersonators}. We introduce representation improvements, including a novel use of \emph{hidden classes} to optimize these data structures.

Wed 25 Oct

Displayed time zone: Tijuana, Baja California change

13:30 - 15:00
Gradual Types and MemoryOOPSLA at Regency A
Chair(s): Jennifer B. Sartor Vrije Universiteit Brussel
13:30
22m
Talk
Sound Gradual Typing: Only Mostly Dead
OOPSLA
Spenser Andrew Bauman Indiana University, USA, Sam Tobin-Hochstadt Indiana University, Jeremy G. Siek Indiana University, USA, CF Bolz-Tereick
DOI
13:52
22m
Talk
Sound Gradual Typing Is Nominally Alive and Well
OOPSLA
Fabian Muehlboeck Cornell University, Ross Tate Cornell University
DOI
14:15
22m
Talk
The VM Already Knew That: Leveraging Compile-Time Knowledge to Optimize Gradual Typing
OOPSLA
Gregor Richards University of Waterloo, Ellen Arteca University of Waterloo, Canada, Alexi Turcotte University of Waterloo
DOI
14:37
22m
Talk
Model Checking Copy Phases of Concurrent Copying Garbage Collection with Various Memory Models
OOPSLA
Tomoharu Ugawa Kochi University of Technology, Japan, Tatsuya Abe Chiba Institute of Technology, Japan, Toshiyuki Maeda Chiba Institute of Technology, Japan
DOI