PyPy — это интерпретатор Python, который написан на Python (RPython) и может компилировать сам себя.

Основное отличие от обычного CPython — наличие JIT компилятора. Прелесть JIT компилятора в том, что в течении работы программы оптимизируются ее части.

Скорость исполнения кода на PyPy выше. На сайте http://speed.pypy.org/ вы можете найти сравнения CPython и PyPy. На сайте есть график (в самом низу): На графике видно, что скорость исполнения одного и того же кода на CPython и PyPy различается в среднем в 7 раза.

Неплохо да? Ничего не изменяли в программе, а прирост в 7 раз получили. Да еще и памяти кушает меньше с многопоточностью там хорошо.

А теперь ложка дегтя:

  • PyPy развивается медленно, сейчас две версии: одна базируется на CPython 2.7.10, другая на 3.2.5
  • Так как PyPy имеет JIT компилятор, то есть время разогрева. Это такое время, когда код и данные оптимизируются.
  • Не все библиотеки поддерживают PyPy

Ссылочки:



Комментарии