Personal tools
You are here: Home Events ICSA/LFCS COLLOQUIUM TALK


— filed under:

Talk and presentation from Laurence Tratt of Kings College London. Title: Experiences of implementing a VM with RPython

  • Colloquium Series
When Feb 28, 2012
from 04:00 PM to 05:00 PM
Where IF. 4.31/4.33
Add event to calendar vCal

**This is a joint talk with LFCS**



Programming language designers face a horrible 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.

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.

I will share my experiences of creating an RPython VM for the Converge language to replace the existing C VM. The new VM executes between 3x and 10x faster than the old VM, despite taking significantly less work to create.

I will outline: how RPython works; what a VM created using it looks like; the trade-offs of using RPython; as well as thoughts for the future of similar approaches.

Document Actions