Новости и события » Hi-Tech » Релиз PyPy 7.0, реализации Python, написанной на языке Python

Релиз PyPy 7.0, реализации Python, написанной на языке Python

Опубликован релиз проекта PyPy 7.0, в рамках которого развивается реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Выпуск подготовлен одновременно для веток PyPy2.7, PyPy3.5 и PyPy3.6 (альфа-версия), обеспечивающих поддержку синтаксиса Python 2.7, Python 3.5 и Python 3.6. Выпуск доступен для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS (x86_64), OpenBSD, FreeBSD и Windows (x86).

Особенностью PyPy является использование JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, что позволяет обеспечить высокий уровень производительности - при выполнении некоторых операций PyPy в несколько раз обгоняет классическую реализацию Python на языке Си (CPython). Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.

В новом выпуске:

  • Представлен первый альфа-выпуск новой ветки PyPy3.6, предоставляющей поддержку Python 3.6;

  • Добавлена возможность подключения обработчиков к сборщику мусора (GC hooks), позволяющих на низком уровне управлять поведением сборщика мусора, отключая его в моменты, требующие высокой производительности или отсутствия задержек. Следует иметь в виду, что при отключении сборки мусора может наблюдаться неконтролируемый рост потребления памяти. Управление производится при помощи двух функций: gc.disable для отключения автоматического сборщика мусора и gc.collect_step для ручного выполнения отдельных шагов для сборки мусора;
  • Обновлены модули CFFI 1.12 (C Foreign Function Interface) и cppyy 1.4 с реализацией интерфейса для вызова функций, написанных на языках Си и C++. В ветках Py3.5 и Py3.6 появилась поддержка cppyy, ранее доступного только в PyPy2.7;
  • Реализованы специфичные для Python 3.6 функции и объекты Py_ReprEnter, Py_ReprLeave, PyMarshal_ReadObjectFromString, PyMarshal_WriteObjectToString, PyObject_DelItemString, PyMapping_DelItem, PyMapping_DelItemString, PyEval_GetFrame, PyOS_InputHook, PyErr_FormatFromCause, __set_name__, __init_subclass__;
  • В основную ветку PyPy переведена разработка отладчика revdb с поддержкой отладки с возвратом к более ранним состояниям (reverse debugging);
  • Добавлена поддержка платформы GNU Hurd, улучшена работа в окружении FreeBSD (в том числе теперь работоспособна система профилирования vmprof);
  • Код для перевода внутреннего представления строк на utf8 не вошел в релиз.

Сучасні та економічні методи зведення будівель

Сучасні та економічні методи зведення будівель

У сучасному будівництві швидкість, економічність та універсальність є ключовими факторами при виборі технологій і матеріалів. Швидкомонтовані сталеві будівлі повністю відповідають цим вимогам, завдяки чому вони набувають великої популярності у різних сферах...

сегодня 10:39

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх