[Python-Dev] A new JIT compiler for a faster CPython?

martin at v.loewis.de martin at v.loewis.de
Wed Jul 18 00:04:53 CEST 2012

> I would like to write yet another JIT compiler for CPython.

FWIW, so do I.

> I did not
> understand exactly why Unladen Swallow and psyco projects failed, so
> please tell me if you think that my project is going to fail too!

It may well happen that your project fails, or doesn't even start. Mine
didn't start for the last two years (but now may eventually do start).

I'm not sure psyco really "failed"; if it did, it was because of PyPy:
PyPy was created to do the same stuff as psyco, just better. It was
abandoned in favor of PyPy - whether that's a failure of psyco, I
don't know. IMO, the psyco implementation itself failed because it was
unmaintainable, containing very complicated code that nobody but its
authors could understand.

Also, I know for a fact that Unladen Swallow (the project) didn't fail;
some interesting parts were contributed to Python and are now part of its
code base. It's the JIT compiler of Unladen Swallow that "failed"; in
my understanding because LLVM is crap (i.e. it is slow, memory-consuming,
and buggy) - as a low-level virtual machine; it may be ok as a compiler
backend (but I still think it is buggy there as well).

> psyco is no more maintained.

I think this is factually incorrect: Christian Tismer maintains it (IIUC).

> I would like to use a JIT to generate specialized functions for a
> combinaison of arguments types.

I think history has moved past specializing JITs. Tracing JITs are the
status quo; they provide specialization as a side effect.


More information about the Python-Dev mailing list