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

Выпуск PyPy 5.8, реализации Python, написанной на языке Python

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

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

  • Устранены критические ошибки в рализации одной из стратегий сборки мусора, приводящие к крахам многопоточных приложений и редко однопоточных;
  • Значительно увеличена производительность функций pack* и unpack* из модуля struct, особенно при работе с обычными буферами и байтовыми массивами. В синтетических тестах наблюдается ускорение от 2 до 10 раз;
  • В базовый интерпретатор добавлена, но пока отключена по умолчанию, возможность использования оптимизаций на этапе связывания (LTO) и учета данных профилирования, накопленных в процессе выполнения программы (PGO, Profile-guided optimization), которые позволяют добиться повышения скорости выполнения кода, для которого не применяется JIT;
  • При финансовой поддержке Mozilla из CPython 3.5 перенесены некоторые исправления и обеспечена полная поддержка многоэтапной инициализации модулей (PEP 489);
  • До версии 1.10.1 обновлен модуль CFFI (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языке Си, который может выступать в качестве более простой альтернативы модулю ctypes;
  • Обеспечена поддержка на днях вышедшего релиза научной библиотеки NumPy 1.13.0, для которого реализованы все недостающие возможности C-API, что положительно повлияло на совместимость и с другими Си-модулями.

Магія східної кухні: особливості та традиції

Магія східної кухні: особливості та традиції

Східна кухня відома різноманіттям ароматів та смаків. Вона заснована на глибоких традиціях, історії та має особливості приготування. Звички формувалися впродовж багатьох століть під впливом різних культур та географічних особливостей. Вони присутні в кожній...

сегодня 15:32

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

Вверх