Write a Blog >>
Sun 20 - Fri 25 October 2019 Athens, Greece
Tue 22 Oct 2019 11:00 - 11:30 at Abbey - Session #2 Chair(s): Anthony Canino

One form of type checking used in gradually typed language is transient type checking: whenever an object `flows’ through code with a type annotation, the object is dynamically checked to ensure it has the methods required by the annotation.

Although naive implementations of transient type checks have a high runtime overhead, just-in-time compilation and optimisation in virtual machines can eliminate much of this overhead. Unfortunately the improvement is not uniform: while most type checks can be optimised away, some will significantly decrease a program’s performance, and some may even increase it.

In this paper, we refine the so called ``Takikawa'' protocol, and use it to identify which type annotations have the greatest effects on performance. In particular, we show how graphing the performance of such benchmarks when varying which type annotations are present in the source code can be used to discern potential patterns in performance. We demonstrate our approach by testing the Moth virtual machine: for many of the benchmarks where Moth’s transient type checking impacts performance, we have been able to identify one or two specific type annotations that are the likely cause. Without these type annotations, the performance impact of transient type checking becomes negligible.

Using our technique programmers can optimise programs by removing expensive type checks, and VM engineers can identify new opportunities for compiler optimisation.

Tue 22 Oct
Times are displayed in time zone: (GMT+03:00) Beirut change

11:00 - 12:30: VMIL 2019 - Session #2 at Abbey
Chair(s): Anthony CaninoSUNY Binghamton
vmil-2019-papers11:00 - 11:30
Isaac Oscar GarianoVictoria University of Wellington, Richard RobertsVictoria University of Wellington, Stefan MarrUniversity of Kent, Michael HomerVictoria University of Wellington, James NobleVictoria University of Wellington
vmil-2019-papers11:30 - 12:00
Rohan PadhyeUniversity of California, Berkeley, Koushik SenUniversity of California, Berkeley
vmil-2019-papers12:00 - 12:15
Kiko Fernandez-ReyesUppsala University, Isaac Oscar GarianoVictoria University of Wellington, James NobleVictoria University of Wellington, Tobias WrigstadUppsala University
vmil-2019-papers12:15 - 12:30