Naïve Transient Cast Insertion Isn’t (That) BadPaper
Transient gradual type systems often depend on type-based cast insertion to achieve good performance: casts are inserted whenever the static checker detects that a dynamically-typed value may flow into a statically-typed context. Transient gradually typed programs are then often executed using just-in-time compilation, and contemporary just-in-time compilers are very good at removing redundant computations.
In this paper we present work-in-progress to measure the ability of just-in-time compilers to remove redundant type checks. We investigate worst-case performance and so take a naïve approach, annotating every subexpression to insert every plausible dynamic cast. Our results indicate that the Moth VM still manages to eliminate much of the overhead, by relying on the state-of-the-art SOMns substrate and Graal just-in-time compiler.
We hope these results will help language implementers evaluate the tradeoffs between dynamic optimisations (which can improve the performance of both statically and dynamically typed programs) and static optimisations (which improve only statically typed code).
Tue 13 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
13:00 - 17:30 | |||
13:00 5mOther | Welcome ICOOOLPS | ||
13:05 25mTalk | The Two Cultures of Language ImplementationInvited Talk ICOOOLPS Stephen Kell King's College London | ||
13:30 20mPaper | Naïve Transient Cast Insertion Isn’t (That) BadPaper ICOOOLPS P: Erin Greenwood-Thessman Victoria University of Wellington, Isaac Oscar Gariano Victoria University of Wellington, Richard Roberts Victoria University of Wellington, Stefan Marr University of Kent, Michael Homer Victoria University of Wellington, James Noble Victoria University of Wellington DOI Pre-print | ||
13:50 20mTalk | Threaded Code Generation with a Meta-tracing JIT CompilerPosition Paper ICOOOLPS P: Yusuke Izawa Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology, CF Bolz-Tereick , Youyou Cong Tokyo Institute of Technology Pre-print | ||
14:10 10mSocial Event | Break ICOOOLPS | ||
14:20 20mTalk | Avoiding Monomorphisation Bottlenecks with Phase-based Splitting ICOOOLPS P: Sophie Kaleba University of Kent, Stefan Marr University of Kent, Richard Jones University of Kent Pre-print | ||
14:40 20mTalk | Native Implementation of Mutable Value SemanticsPosition Paper ICOOOLPS P: Dimi Racordon University of Geneva, Switzerland, Denys Shabalin EPFL, Switzerland, Dave Abrahams Google, Dan Zheng Purdue University, Google Brain, Brennan Saeta Google Pre-print | ||
15:00 20mTalk | An Eclipse OMR-based Garbage Collector for Python ICOOOLPS P: Joannah Nanjekye University of New Brunswick, David Bremner University of New Brunswick, Aleksandar Micic IBM, Canada | ||
15:20 20mSocial Event | Break ICOOOLPS | ||
15:40 20mTalk | Userfault Objects: Transparent Programmable MemoryPosition Paper ICOOOLPS Pre-print | ||
16:00 20mTalk | The Strange and Wondrous Life of Functions in Ř ICOOOLPS Jan Ječmen , Olivier Flückiger Northeastern University, Sebastián Krynski Czech Technical University in Prague, P: Jan Vitek Northeastern University / Czech Technical University File Attached | ||
16:20 20mTalk | Non-Intrusive Migration from Lazy to Eager Evaluation ICOOOLPS P: Aviral Goel Northeastern University, Jan Vitek Northeastern University / Czech Technical University | ||
16:40 10mSocial Event | Break ICOOOLPS | ||
16:50 20mTalk | A Framework and DSL for Distributed, Energy-constrained, and Time-sensitive Applications ICOOOLPS P: Kyle Liang Carnegie Mellon University, Reese Grimsley CMU, Eve Hu CMU, Edward Andert Arizona State University, Mohammad Khayatian Arizona State University, Aviral Shrivastava Arizona State University, Carlee Joe-Wong CMU, Jonathan Aldrich Carnegie Mellon University, Bob Iannucci CMU | ||
17:10 20mTalk | Fuel: A Compiler Framework for Safe Memory ManagementPosition Paper ICOOOLPS Dimi Racordon University of Geneva, Switzerland, P: Aurélien Coet University of Geneva, Switzerland, Didier Buchs University of Geneva, Switzerland Pre-print |