Personal tools
You are here: Home Events LFCS Seminars-Folder LFCS/ICSA Joint Seminar: Laurence Tratt

LFCS/ICSA Joint Seminar: Laurence Tratt

— filed under:

Experiences of implementing a VM with RPython

  • LFCS Seminar
When Feb 28, 2012
from 04:00 PM to 05:00 PM
Add event to calendar vCal

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