Релиз PyPy 1.4, реализации Python, написанной на языке Python
В PyPy также поддерживается бесстековый (Stackless) режим работы, позволяющий добиться массового параллельного выполнения микропотоков (micro-threads). Для выполнения кода, к которому нет доверия, реализован режим изолированного выполнения, отличающегося от sandbox в CPython полной поддержкой всех возможностей языка без выделения unsafe-функций. Дополнительно на базе технологий PyPy созданы бэкенды для генерации в PyPy байткода для LLVM и виртуальных машин .NET/CLI и Java. Отдельно на базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, JavaScript, Io и Scheme.
При подготовке новой версии проведена большая работа по увеличению производительности, подготовлен 64-разрядный JIT-бэкенд и стабилизирована кодовая база. По заявлению разработчиков, 32- и 64-разрядные версии PyPy уже достаточно стабильны на платформе Linux и готовы для промышленной эксплуатации. Более того, версия PyPy 1.4 является первым релизом, который транслирует самого себя быстрее, чем CPython.
Некоторые особенности релиза PyPy 1.4:
- Встроенный в PyPy JIT-компилятор генерируется автоматически и полностью прозрачен. Потребление памяти снижено до разумных границ, например, общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза при примерно двухкратном росте производительности выполнения;
- Экземпляры классов теперь хранятся в более компактном представлении, настолько компактном, как если был они были созданы с атрибутом __slots__, что приводит к значительному снижению расхода памяти;
- PyPy теперь полностью совместим с пакетом virtualenv, позволяющим создавать собственные виртуальные окружения Python;
- Ускорена работа регулярных выражений, для оптимизации которых дополнительно задействована JIT-компиляция. Модуль "re" теперь работает значительно быстрее;
- При вызове многих функций, например, map() теперь используется JIT-компиляция.
Источник: http://www.opennet.ru/opennews/art.shtml?num=28810
|
0 | Tweet | Нравится |
|