Title
Back to the Future in One Week -- Implementing a Smalltalk VM in PyPy
Abstract
We report on our experiences with the Spy project, including implementation details and benchmark results. Spy is a re-implementation of the Squeak (i.e. Smalltalk-80) VM using the PyPy toolchain. The PyPy project allows code written in RPython, a subset of Python, to be translated to a multitude of different backends and architectures. During the translation, many aspects of the implementation can be independently tuned, such as the garbage collection algorithm or threading implementation. In this way, a whole host of interpreters can be derived from one abstract interpreter definition. Spy aims to bring these benefits to Squeak, allowing for greater portability and, eventually, improved performance. The current Spy codebase is able to run a small set of benchmarks that demonstrate performance superior to many similar Smalltalk VMs, but which still run slower than in Squeak itself. Spy was built from scratch over the course of a week during a joint Squeak-PyPy Sprint in Bern last autumn.
Year
DOI
Venue
2008
10.1007/978-3-540-89275-5_7
S3
Keywords
Field
DocType
benchmark result,abstract interpreter definition,smalltalk vm,current spy codebase,pypy toolchain,improved performance,bern last autumn,threading implementation,spy project,pypy project,implementation detail,garbage collection
Codebase,Virtual machine,Programming language,Computer science,Smalltalk,Squeak,Software portability,Garbage collection,Operating system,Toolchain,Python (programming language)
Conference
Volume
ISSN
Citations 
5146
0302-9743
15
PageRank 
References 
Authors
1.19
5
8
Name
Order
Citations
PageRank
Carl Friedrich Bolz129218.69
Adrian Kuhn2151.19
Adrian Lienhard317311.01
Nicholas D. Matsakis4946.88
Oscar Nierstrasz52404346.86
Lukas Renggli617012.95
Armin Rigo730118.27
Toon Verwaest8292.99