Sound gradual typing: only mostly dead

dc.contributor.authorBauman, Spenser
dc.contributor.authorBolz-Tereick, Carl Friedrich
dc.contributor.authorSiek, Jeremy
dc.contributor.authorTobin-Hochstadt, Sam
dc.date.accessioned2025-02-20T16:59:40Z
dc.date.available2025-02-20T16:59:40Z
dc.date.issued2017-10-12
dc.descriptionThis record is for a(n) offprint of an article published in PACMPL on 2017-10-12; the version of record is available at https://doi.org/10.1145/3133878.
dc.description.abstractWhile 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, 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 chaperones and impersonators. We introduce representation improvements, including a novel use of hidden classes to optimize these data structures.
dc.description.versionoffprint
dc.identifier.citationBauman, Spenser, et al. "Sound gradual typing: only mostly dead." PACMPL, vol. 1, no. OOPSLA, 2017-10-12, https://doi.org/10.1145/3133878.
dc.identifier.issn2475-1421
dc.identifier.otherBRITE 1421
dc.identifier.urihttps://hdl.handle.net/2022/32958
dc.language.isoen
dc.relation.isversionofhttps://doi.org/10.1145/3133878
dc.relation.journalPACMPL
dc.titleSound gradual typing: only mostly dead

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
1421_Sound_gradual_typing_only_mostly_dead.pdf
Size:
10.49 MB
Format:
Adobe Portable Document Format
Can’t use the file because of accessibility barriers? Contact us