Configuration Options for PyPy

This directory contains documentation for the many configurationoptions that can be used to affect PyPy’s behaviour. There are twomain classes of option, object space options and translationoptions.

There are two main entry points that accept options: py.py, whichimplements Python on top of another Python interpreter and accepts allthe object space options:

  1. ./py.py <objspace options>

and the rpython/bin/rpython translation entrypoint which takes arguments of this form:

  1. ./rpython/bin/rpython <translation options> <target>

For the common case of <target> being targetpypystandalone.py,you can then pass the object space options aftertargetpypystandalone.py, i.e. like this:

  1. ./rpython/bin/rpython <translation options> targetpypystandalone.py <objspace options>

There is an overview of all command line arguments that can bepassed in either position.

Many of the more interesting object space options enable optimizations,which are described in Standard Interpreter Optimizations, or allowthe creation of objects that can barely be imagined in CPython, whichare documented in What PyPy can do for your objects.

The following diagram gives some hints about which PyPy features work togetherwith which other PyPy features: ../_images/compat-matrix.png