Papers, talks and related projects
Papers
Articles about PyPy published so far, most recent first: (bibtex file)
- A Way Forward in Parallelising Dynamic Languages,R. Meier, A. Rigo
- Runtime Feedback in a Meta-Tracing JIT for Efficient Dynamic Languages,C.F. Bolz, A. Cuni, M. Fijalkowski, M. Leuschel, S. Pedroni, A. Rigo
- Allocation Removal by Partial Evaluation in a Tracing JIT,C.F. Bolz, A. Cuni, M. Fijalkowski, M. Leuschel, S. Pedroni, A. Rigo
- Towards a Jitting VM for Prolog Execution,C.F. Bolz, M. Leuschel, D, Schneider
- High performance implementation of Python for CLI/.NET with JIT compiler generation for dynamic languages,A. Cuni, Ph.D. thesis
- Tracing the Meta-Level: PyPy’s Tracing JIT Compiler,C.F. Bolz, A. Cuni, M. Fijalkowski, A. Rigo
- Faster than C#: Efficient Implementation of Dynamic Languages on .NET,A. Cuni, D. Ancona and A. Rigo
- Automatic JIT Compiler Generation with Runtime Partial Evaluation(Master Thesis), C.F. Bolz
- RPython: A Step towards Reconciling Dynamically and Statically TypedOO Languages, D. Ancona, M. Ancona, A. Cuni and N.D. Matsakis
- How to not write Virtual Machines for Dynamic Languages,C.F. Bolz and A. Rigo
- PyPy’s approach to virtual machine construction, A. Rigo and S. Pedroni
Non-published articles (only submitted so far, or technical reports):
- Automatic generation of JIT compilers for dynamic languages in .NET,D. Ancona, C.F. Bolz, A. Cuni and A. Rigo
- EU Reports: a list of all the reports we produced until 2007 for theEuropean Union sponsored part of PyPy. Notably, it includes:
- Core Object Optimization Results, PyPy Team
- Compiling Dynamic Language Implementations, PyPy Team
Other research using PyPy (as far as we know it):
- Hardware Transactional Memory Support for Lightweight Dynamic Language Evolution,N. Riley and C. Zilles
- PyGirl: Generating Whole-System VMs from High-Level Prototypes using PyPy,C. Bruni and T. Verwaest
- Back to the Future in One Week – Implementing a Smalltalk VM in PyPy,C.F. Bolz, A. Kuhn, A. Lienhard, N. Matsakis, O. Nierstrasz, L. Renggli,A. Rigo and T. Verwaest
Previous work:
Talks and Presentations
This part is no longer updated. The complete list is here (inalphabetical order).
Talks in 2010
Talks in 2009
- RuPy 2009.
- EuroPython talks 2009.
- PyCon talks 2009.
- Wroclaw (Poland) presentation by Maciej Fijalkowski. Introduction,including about the current JIT.
- PyPy talk at OpenBossa 09 (blog post).
Talks in 2008
- Talk at PyCon Poland 08. In Polish.
- The PyPy Project and You, by Michael Hudson at OSDC 2008.
- Back to the Future in One Week – Implementing a Smalltalk VM in PyPyby C.F. Bolz et al.; pdf of the presentation at S3 2008.
- EuroPython talks 2008.
- PyPy at the Maemo summit.
- PyCon UK 2008 - JIT and PyCon UK 2008 - Status.
- PyCon Italy 2008.
- Talk by Maciej Fijalkowski at SFI 08, Cracow (Poland) Academic ITFestival.
- RuPy 2008.
- PyCon 2008.
Talks in 2007
- Our “road show” tour of the United States: presentations at IBMand at Google.
- ESUG 2007.
- RPython: A Step towards Reconciling Dynamically and Statically TypedOO Languages at DLS 2007. Pdf of the presentation.
- Talks at Bern (Switzerland) 2007.
- PyCon UK 2007.
- A presentation in Dresden by Maciej Fijalkowski.
- Multiple talks at EuroPython 2007.
- A presentation at Bad Honnef 2007 by C.F. Bolz about the Prologinterpreter.
- A Dzug talk by Holger Krekel.
- Multiple talks at PyCon 2007.
- A talk at PyCon - Uno 2007.
- RuPy 2007.
- Warsaw 2007.
Talks in 2006
- Warsaw 2006.
- Tokyo 2006.
- PyPy’s VM Approach talk, given by Armin Rigo at the Dynamic LanguagesSymposium at OOPSLA‘06 (Portland OR), and by Samuele Pedroni at IntelHillsboro (OR) (October). The talk presents the paperPyPy’s approach to virtual machine construction accepted forthe symposium.
- PyPy Status talk, given by Samuele Pedroni at the VancounerPython Workshop 2006 (August).
- Trouble in Paradise: the Open Source Project PyPy,EU-funding and Agile Practices talk, by Bea During atAgile 2006 (experience report).
- Sprint Driven Development, Agile Methodologies in aDistributed Open Source Project (PyPy) talk, by Bea Duringat XP 2006 (experience report).
- Kill -1: process refactoring in the PyPy project talk, by Bea Duringat the Agile track/Europython 2006.
- What can PyPy do for you, by Armin Rigo and Carl Friedrich Bolz given atEuroPython 2006. The talk describes practical usecases of PyPy.
- PyPy 3000, a purely implementation-centered lightning talk at EuroPython2006, given by Armin Rigo and Holger Krekel.
- PyPy introduction at EuroPython 2006, given by Michael Hudson, alsostating the status of the project.
- Very similar to the EuroPython intro talk (but somewhat older) is thePyPy intro talk, given by Michael Hudson at ACCU 2006 (April)
- PyPy development method talk, given by Bea During andHolger Krekel at Pycon2006
Talks in 2005
- PyPy - the new Python implementation on the block,given by Carl Friedrich Bolz and Holger Krekel at the22nd Chaos Communication Conference in Berlin, Dec. 2005.
- Open Source, EU-Funding and Agile Methods, given by Holger Krekeland Bea During at the 22nd Chaos Communication Conference in Berlin, Dec. 2005
- Sprinting the PyPy way, an overview about our sprint methodology, given byBea During during EuroPython 2005. (More PyPy talks were given, but arenot present in detail.)
- PyCon 2005 animated slices, mostly reporting on the translator status.
- py lib slides from the py lib talk at PyCon 2005(py is used as a support/testing library for PyPy).
Talks in 2004
- EU funding for FOSS talk on Chaos CommunicationConference in Berlin, Dec 2004.
Talks in 2003
- oscon2003-paper an early paper presented at Oscon 2003 describingwhat the PyPy project is about and why you should care.
- Architecture introduction slides a mostly up-to-dateintroduction for the Amsterdam PyPy-Sprint Dec 2003.
Related projects
- TraceMonkey is using a tracing JIT, similar to the tracingJITs generated by our (in-progress) JIT generator.
- Dynamo showcased transparent dynamic optimizationgenerating an optimized version of a binary program at runtime.
- Tailoring Dynamo to interpreter implementations and challenges -Gregory Sullivan et. al.,Dynamic Native Optimization of Native Interpreters. IVME 03. 2003.
- Stackless is a recursion-free version of Python.
- Psyco is a just-in-time specializer for Python.
- JikesRVM a research dynamic optimizing Java VM written in Java.
- Squeak is a Smalltalk-80 implementation written inSmalltalk, being used in Croquet, an experimentaldistributed multi-user/multi-programmer virtual world.
- LLVM the low level virtual machine project.
- CLR under the hood (powerpoint, works with open office) givesa good introduction to the underlying models of Microsoft’s CommonLanguage Runtime, the Intermediate Language, JIT and GC issues.
- spyweb translates Python programs to Scheme. (site unavailable)
- Jython is a Python implementation in Java.
- IronPython a new Python implementation compiling Python intoMicrosoft’s Common Language Runtime (CLR) Intermediate Language (IL).
- Tunes is not entirely unrelated. The web site changed a lot, but asnapshot of the old Tunes Wiki is available; browsingthrough it is a lot of fun.