The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

01.06.2015 20:37

Представлен релиз PyPy 2.6, реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Новый выпуск примечателен значительным увеличением производительности, он в среднем на 2% быстрее прошлой версии PyPy и в 7 раз быстрее классического CPython 2.7. Выпуск доступен для x86-систем Linux 32/64, OpenBSD, OS X 64 и Windows 32, а также для систем на базе архитектуры ARM (ARMv6 или ARMv7 с VFPv3).

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

Новшества, добавленные в PyPy 2.6:

  • До версии 1.1 обновлён модуль CFFI (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языке Си, который может выступать в качестве более простой альтернативы модулю ctypes;
  • Добавлена предварительная поддержка системы статического профилирования vmprof, которая изначально рассчитана на профилирование кода, сгенерированного JIT-компилятором;
  • Проведена работа по улучшению совместимости с Python: добавлена поддержка переменной окружения PYTHONOPTIMIZE, улучшена поддержка TLS 1.1 и 1.2, в сборку для платформы Windows помимо pypy.exe включен исполняемый файл pypyw.exe, устранены проблемы, выявленные в прошлом выпуске PyPy;
  • Расширены возможности интегрированной математической библиотеки Numpy, в которой появилась поддержка объекта dtype, реализованного через привязку в сборщике мусора. Добавлены типы .can_cast и .min_scalar_type. Улучшена поддержка подтипов, реализованная через методы _array_interface__, __array_priority__ и __array_wrap__. Улучшена поддержка опций ndarray.flags;
  • Продолжена работа по оптимизации JIT-компилятора, проведён внутренний рефакторинг и чистка кода, связанного с работой JIT. Увеличена производительность ввода/вывода в модулях zlib и bz2. Достигнуто семикратное опережение CPython в тестах производительности.

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

  • Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу);
  • Реализация режима изолированного выполнения кода, к которому нет доверия. От sandbox в CPython данный режим отличается полной поддержкой всех возможностей языка без выделения unsafe-функций.
  • Автоматическая генерация и полная прозрачность встроенного JIT-компилятора;
  • PyPy успешно проходит стандартный тестовый пакет Python и поддерживает большинство из стандартных Python-модулей и фреймворков, таких как ctypes, django (с sqlite), twisted (без поддержки ssl), pylons, pyglet. PyPy может быть использован для бесшовной замены CPython 2.7;
  • Поддержка работы на архитектурах x86 (IA-32) , x86_64 и ARM. Ведется работа по адаптации для архитектуры PowerPC (PPC64), но она ещё не завершена;
  • На базе технологий PyPy созданы бэкенды для генерации в PyPy байткода для LLVM и виртуальных машин .NET/CLI и Java.
  • На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, Ruby, JavaScript, Io и Scheme.
  • Версия PyPy с поддержкой Python 3 развивается в рамках проекта Py3k;
  • Вариант PyPy с поддержкой распараллеливания на многоядерных системах развивается в рамках проекта PyPy-STM (PyPy Software Transactional Memory).


  1. Главная ссылка к новости (http://morepypy.blogspot.ru/20...)
  2. OpenNews: Первый выпуск PyPy-STM, интерпретатора Python с поддержкой многоядерных систем
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42339-pypy
Ключевые слова: pypy
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 20:56, 01/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Питон ради питона
     
     
  • 2.10, Аноним (-), 23:55, 01/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Питон ради питона

    Си ради Си? Плюсы ради плюсов?

    Анонимам опеннета не угодишь.

     
     
  • 3.17, Аноним (-), 08:55, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Си, С++  - специализированные языки. Питон же изначально создавался ради идеологии, которая кстати хорошо описана здесь: https://ru.wikipedia.org/wiki/Python
    > Красивое лучше, чем уродливое.
    > Явное лучше, чем неявное.
    > Простое лучше, чем сложное.
    > Сложное лучше, чем запутанное.
    > ...

    Реализация питона на питоне - это, так сказать, кульминация.

     
     
  • 4.35, an (??), 17:34, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    чтобы закомментировать IF сдвигать целый абзац кода?

    красиво, явно, просто и ни разу незапутанно :)

     
     
  • 5.36, Аноним (-), 18:31, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > чтобы закомментировать IF сдвигать целый абзац кода?
    > красиво, явно, просто и ни разу незапутанно :)

    Ну, неосиляторы M-x comment-region должны страдать, не? =)


     
  • 5.42, Анонисимус (?), 08:45, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Таки да. Надо бы создать PEP на комментарий действующий до конца конструкции, перед которой поставлен
     
  • 5.55, myhand (ok), 20:16, 04/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > чтобы закомментировать IF сдвигать целый абзац кода?

    Что мешает использовать """?

     
  • 4.45, Michael Shigorin (ok), 14:11, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Реализация питона на питоне - это, так сказать, кульминация.

    export LANG=py_PY? :)

     

  • 1.2, A.Stahl (ok), 20:57, 01/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >PyPy

    А как он произносится? ПайПай? ПиПи? Пэ-Игрек-Пэ-Игрек?

     
     
  • 2.4, Аноним (-), 21:09, 01/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://www.youtube.com/watch?v=kqQ_YyYukjo
     
  • 2.14, Анонимный Пользователь (?), 00:15, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Питон Питоныч
     
  • 2.24, Аноним (-), 11:02, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ПаиПаи на японском - сиськи
     
     
  • 3.46, Аноним (-), 15:34, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вот и отлично! Почти так ведь и произносится (ПайПай).
     
  • 2.31, GG (ok), 14:53, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Пупу
     

  • 1.3, manster (ok), 21:00, 01/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    парадокс, но с каждым разом становится все интересней
     
  • 1.5, axe2 (ok), 21:10, 01/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    На 2 процента быстрее! На 6мм тоньше!
    И вообще, когда уже наконец запилят PyPyPy.
     
     
  • 2.16, Аноним (-), 08:21, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да чё там мелочиться, сразу (py).
     

  • 1.6, Аноним (-), 21:19, 01/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > общее потребление памяти в сложных и длительно работающих процессах
    > (например, при трансляции PyPy силами самого PyPy) превышает потребление
    > CPython в полтора-два раза.

    Зато на 2% быстрее. Уууух, убунта теперь оживёт!
    Не, ну серьезно, лучше бы тогда занялись обучением школьников написанию ускоряющих костылей, потому что текущая жручесть питоновских приложений никуда не годится. А по хорошему давно пора прикрыть этот балаган.

     
     
  • 2.7, Анонимусс (?), 21:27, 01/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На 2% быстрее предыдущей версии. По расходу памяти все тоже самое, что в PyPy 2.5
     
  • 2.9, Аноним (-), 23:39, 01/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Зато на 2% быстрее. Уууух, убунта теперь оживёт!

    Кактус вкушаем? =)

    > Не, ну серьезно, лучше бы тогда занялись обучением школьников написанию ускоряющих костылей,

    Гипс, картон, папье маше и пластик -- для макетов самое то. Особо уп0ротые, правда, начинают из этих материалов строить дома. Естественно, получается не очень.
    Непризнаные эксперты, с высоты своих диванов, делают соответствующие выводы: макеты -- ненужная фЪгня!

    > потому что текущая жручесть питоновских приложений никуда не годится. А по
    > хорошему давно пора прикрыть этот балаган.

    Будь мужиком ...

     
  • 2.38, anonymous (??), 18:50, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    почему все убунта да убунта, вон недавно федора DNF выкатила - тоже питон


     
  • 2.47, Аноним (-), 15:47, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Yum: Python
    DNF: Python
    Portage: Python
    APT: C, C++, Python
    PiSi: Python

    Это в каком-то роде популярно...

     
     
  • 3.51, Аноним (-), 10:17, 04/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это в прямом роде непопулярно у нескольких козлов местного разлива. Во всём остальном мире очень даже популярно в своей области применимости, о чем, кстати, ярко свидетельствует вышеперечисленное.
     

  • 1.8, Есюки (?), 22:59, 01/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –11 +/
    После появления GO все эти питоны/перлы/пых-пы-хи побежали на свалку истории.
     
     
  • 2.11, Аноним (-), 23:58, 01/06/2015 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Ну ведь нет же :). Только в вашем воспалённом сознании. Хватит слушать голоса из розеток и разговаривать с пауками.
     
  • 2.13, Дмитрий (??), 00:12, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Go вообще ни как не пересекается со скриптовыми языками.
     
     
  • 3.19, Аноним (-), 09:07, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • –4 +/
    GO просто отправляет их на свалку, с простым деплоем, быстрой компиляцией и продуктивной разработкой.
     
     
  • 4.21, Аноним (-), 09:40, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну ка поподробнее, про простоту? покажите-ка мне крупный проект на Go? Даже сам гугл его только как вспомогательный язык в своей инфраструктуре использует, не больше.
     
     
  • 5.25, Аноним (-), 11:19, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Ну ка поподробнее, про простоту?

    По подробней тебе гайдлайн расскажет, осилить го гораздо быстрее чем питон. Сам язык получился гораздо проще гвидобейсика.
    > покажите-ка мне крупный проект на Go?

    Дай критерии крупного проекта, может докер, может gogs или может influxdb
    > Даже сам гугл его только как вспомогательный язык в своей инфраструктуре использует, не больше.

    А мы наверное из один из топ менеджеров по разработке гугла? И естественно в курсе разработок?

     
     
  • 6.41, XVilka (ok), 02:31, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Gogs, кстати, похоже загнулся https://github.com/gogits/gogs/commits/master - основной разработчик пропал куда-то. Жаль, подающий надежды сервис был. Думал на основе gogs и drone (https://github.com/drone/drone) поднять сервис, на замену гитлабу.
     
     
  • 7.43, Аноним (-), 13:02, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если посмотреть по проектам на Golang, на гитхабе, такие как мартини и т.п, и посмотреть кто сейчас, из комиттеров занимается, получается так:

    У многих проектов, нет большой активности, последние коммиты где-то были месяц/два и больше назад. Многие коммитеры зачастую продолжают работать в проектах не на Golang.

    Проходит ажиотаж связанный с Go, куча оставленных проектов... Смотря на это начинать какой-либо проект на Go даже страшно.


     
  • 7.44, Аноним (-), 13:05, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, расскажите пожалуйста с чем Вы в Go работаете с сериализацией и манипуляцией xml и json. Чтобы максимум удобства, но и не тормозное?

     
     
  • 8.50, Есюки (?), 20:42, 03/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    http golang org pkg encoding http golang org pkg encoding xml http golan... текст свёрнут, показать
     
  • 4.27, Аноним (-), 13:28, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > GO просто отправляет их на свалку, с простым деплоем, быстрой компиляцией и
    > продуктивной разработкой.

    Вы ошиблись дверью, зданием и страной -- совет директоров гуголя немного в другом месте.

     
     
  • 5.34, alright (?), 17:31, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Полагаю в гугле питон уже давно отправлен на свалку плюсами и явой.
     
     
  • 6.52, Аноним (-), 10:38, 04/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы это серьезно?
     

  • 1.12, Аноним (-), 00:06, 02/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сколько оперативы нужно, чтоб собрать эту версию?
     
     
  • 2.22, Аноним (-), 09:56, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Смотря под какую архитектуру, в целом много.

    Есть и всё уже собранное, готовое:
    https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-lin

     
  • 2.23, Аноним (-), 10:14, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    не больше, чем для сборки современных модных броузеров
     
     
  • 3.26, Аноним (-), 11:21, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > не больше, чем для сборки современных модных броузеров

    Как человер собирающий модные браузеры скажу что где то в 3 раза больше чем для модных браузеров

     
     
  • 4.40, Аноним (-), 19:53, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Как человер собирающий модные браузеры скажу что где то в 3 раза
    > больше чем для модных браузеров

    Ну, в три раза больше Xombrero или surfa не так уж и критично :)

    А вообще, из доков:
    > Even when using PyPy to build PyPy, translation is time-consuming – 30 minutes on a fast machine – and
    > RAM-hungry. You will need at least 2 GB of memory on a 32-bit machine and 4GB on a 64-bit machine.

     

  • 1.15, Аноним (-), 07:36, 02/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    https://github.com/chtd/psycopg2cffi

    Кто-нибудь использует это вместе с PYPY, с постгресом в продакшене?

     
  • 1.18, Аноним (-), 09:03, 02/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    В филисофии питона нет понятий потребления памяти и скорости выполнения. Эта абстрактная идеология не для продакшина, а для самой идеологии. А те, кто используют питон в продакшине - извращенцы этой идеологии.
     
     
  • 2.29, Тоже Аноним (?), 14:38, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Откуда столько ненависти к Python?

    Вполне себе нормальный язык, читабельный, с "батарейками". Крупные конторы навроде гугла. Яндекса, Амазона - используют и радуются. В продакшене и на хайлоаде вполне себе живёт.
    Научные вычисления - моё почтение, тоже используется. Сайтики делать - опять же пожалуйста.

     
     
  • 3.37, Аноним (-), 18:32, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Крупные конторы навроде гугла. Яндекса, Амазона - используют и радуются.

    Использовали и до сих пор используют для старых проектов так и для некоторых новых, но доля питона сокращается.

     
     
  • 4.54, Аноним (-), 11:20, 04/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > но доля питона сокращается

    Интересно, на каких идиотов вы рассчитываете, когда с упертостью достойной золотого барана постите здесь свои сказочки для недоразвитых?

     

  • 1.28, Аноним (-), 13:44, 02/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если он такой весь классный, то почему в убунте на него не переехали?
     
     
  • 2.30, Аноним (-), 14:41, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас питон в убунте жрет 700 метров оперативки, будет 1000, а быстрее все равно не станет. От питона надо наоборот уходить.
     
     
  • 3.33, Аноним (-), 17:16, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Сейчас питон в убунте жрет 700 метров оперативки,  

    Сейчас глянул: питон на распе, в качестве простенького хттпд, кушает аж 11Мб!

    Вангую, что для убунты нужен не (только) другой инструмент разработки, но и полноценная операция по пересадке и выпрямлению рук "разработчиков".

    > От питона надо наоборот уходить.

    Флаг c барабаном нужны, иначе религия не позволяет? =)

     
  • 3.39, userd (ok), 18:59, 02/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > наоборот уходить

    - это приходить пятясь?

     
  • 3.53, Аноним (-), 11:17, 04/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Геббельс тихо завидует тебе с того света.
     

  • 1.48, Аноним (-), 17:58, 03/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может кто подскажет рабочую версию lxml для работы с PYPY2.6 ?

    Есть эта, но она давно не обновлялась, а при компиляции есть проблемы:
    https://github.com/amauryfa/lxml/tree/cffi

     
  • 1.49, Аноним (-), 18:04, 03/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    КМК, массовое применение PYPY останавливают только отсутствие рабочих, из коробки C-шных Pillow, lxml и PyCrypto, остальное необходимое должно jit-тся и вполне быстро работать.
     
     
  • 2.56, bav (ok), 20:25, 04/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > КМК, массовое применение PYPY останавливают только отсутствие рабочих, из коробки C-шных
    > Pillow, lxml и PyCrypto, остальное необходимое должно jit-тся и вполне быстро
    > работать.

    Нет, просто большинство серверов упирается во что угодно только не в cpu на бэке. PyPy интересен на хадупчике или в науке.

     
     
  • 3.57, Аноним (-), 18:39, 05/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    На PYPY время выполнения меньше, особенно если есть существенный питон код.
    Но сферический jit, без сопутствующих библиотек, сразу оттягивает всё время на поиск решений работы с необходимыми С-либами когда проект усложняется, разрастается.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру