PyPy 1.8

Вышла новая версия интерпретатора PyPy, который написан с использованием RPython-подмножества Python со статической типизацией. В рамках данного проекта реализован JIT компилятор. Скорость его работы на 10% выше, чем у PyPy 1.7 и в 5.2 раза выше, чем у классического CPython. Было выполнено много работ для JIT на платформе ARM. Однако, в бочке меда есть и своя ложка дегтя: у PyPy более высокое потребление памяти, особенно на длительно работающих процессах. Особенности новой версии:

  • Добавлена специализация списков. Это позволяет уменьшить расход памяти для списков с элементами одного типа.
  • Готов бекенд для платформы ARMv7.
  • Улучшена совместимость с CPython.
  • Обновление стандартной библиотеки с версии 2.7.1 до 2.7.2.
  • Продолжена работа над поддержкой математической библиотеки Numpy, которая происходит в отдельной ветке numpypy. В версию 1.8 добавлены функции для работы с многомерными массивами, различные размеры dtype, добавлено множество новых функций. Добавлена возможность работать с именем numpy, однако, перед тем, как импортировать numpy все равно надо написать import numpypy.
  • Добавлены JIT хуки. Это позволяет писать функции, которые запускаются JIT компилятором на фазе оптимизации или окончательной трансляции кода в машинные инструкции.


Особенности PyPy:

  • Он может бесшовно заменить Python 2.7 и 2.6.
  • Поддерживаются ctypes, django (с sqlite), twisted (без поддержки ssl), pylons, pyglet.
  • В PyPy имеется бекенд для генерации байт-кода для LLVM, NET/CLI, Java.
  • Поддерживается обмен данными между микропотоками в рамках одного потока, выделенного операционной системой.
  • Поддерживается «песочница» для не доверенного кода с полными возможностями без выделения небезопасных функций, в отличие от CPython.
  • Поддерживаются архитектуры: x86 (IA-32), x86_64 и ARMv7. Ведется работа над поддержкой PowerPC (PPC64).
  • PyPy используется для тестирования новых концепций и возможностей языка Python.

>>> Сайт проекта
>>> Страница загрузок
>>> Тесты скорости PyPy
>>> Описание идеи, лежащей в основе PyPy

©  Linux.org.ru