Back to proposals-2013
Title: Fast Enough VMs in Fast Enough Time
Proposer: laurence_tratt
Type: Tutorial/Experience Report
Duration: 90 minutes
Description:
Programming language designers face an unpleasant dilemma when it comes to
implementing their languages: too little implementation, and it will be
laughed at as too slow; too much, and it will divert energy away from design.
Lacking the manpower to make a plausibly fast implementation, many
interesting language design ideas have faded unfairly into obscurity. We all
live with the consequences.
In this talk I look at a new mode of creating “fast enough virtual machines
in fast enough time” Virtual Machines (VMs), using the meta-tracing JIT
language RPython. Unlike previous approaches, RPython creates VMs that
automatically come with a JIT customised for the language being interpreted.
RPython has been used to implement a new VM for Python that gives an average
speed-up of 5x over the stock VM, and thus demonstrably scales to “real”
languages. Such VMs will change the language landscape of the future.
I will explain the performance trade-offs of existing approaches to language
implementation, how meta-tracing works, and what the performance
consequences (good and bad) for programmers of this new breed of VMs are.
Asti - eh, I'm not crazy about this
Roger: hard to tell if this is a 'brave new idea' or yet another cul-de-sac.