The OpenNET Project / Index page

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

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

06.10.2017 10:09

Состоялся новый выпуск проекта PyPy 5.9, в рамках которого развивается реализации языка 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.9 доступен для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS и Windows, а выпуск PyPy3.5 5.9, который пока не вышел из стадии бета-версии, только для Linux x86_64.

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

Основные улучшения:

  • В PyPy2.7 обеспечена полноценная поддержка приложений, написанных с использованием пакета с функциями для научных вычислений NumPy и библиотеки для анализа данных Pandas. Также теперь работоспособны и многие другие Python-модули, использующие вставки на C-API;
  • Поддержка интеграции с компилятором Cython 0.27.1, совместное использование которого с PyPy позволяет существенно расширить поддержки Python-проектов, использующих C-API;
  • Проведена оптимизация парсера JSON для увеличения скорости работы с повторяющимися строковыми ключами и сокращения потребления памяти. Для крупных JSON-файлов c повторяющимися ключами отмечается до 50% сокращение потребления памяти и до 15% ускорение разбора.
  • До версии 1.11.1 обновлён модуль CFFI (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языке Си, который может выступать в качестве более простой альтернативы модулю ctypes. В новой версии добавлена поддержка сложных аргументов в режиме API, а также типов char16_t и char32_t, улучшена поддержка callback-вызовов.
  • Решены многие проблемы в обвязке для C-API, приводящие к излишнему потреблению памяти и несовместимостям.


  1. Главная ссылка к новости (https://morepypy.blogspot.ru/2...)
  2. OpenNews: Релиз PyPy 5.8, реализации Python, написанной на языке Python
  3. OpenNews: Разработка Python переведена на GitHub
  4. OpenNews: Выпуск Nuitka 0.5.27, компилятора для языка Python
  5. OpenNews: В каталоге Python-пакетов PyPI выявлено 10 вредоносных библиотек
  6. OpenNews: Выпуск Cython 0.27, компилятора для языка Python
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47340-pypy
Ключевые слова: pypy, python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 10:35, 06/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А, что реально быстрее PyPy или Nutka, если надо питотячию портянку побыстрее выполнить? У кого-нибудь есть опыт или обширные тесты по этой проблеме?
     
     
  • 2.3, FractalizeR (ok), 11:07, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://pybenchmarks.org/u64q/benchmark.php?test=all&lang=nuitka&lang2=pypy&da
     
  • 2.4, leap42 (ok), 11:41, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > если надо питотячию портянку побыстрее выполнить?

    перепишите на go, все так делают

     
     
  • 3.77, Аноним (-), 20:38, 07/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, сейчас и растоманы подтянутся.
     
  • 2.7, Аноним (-), 12:12, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    https://cacm.acm.org/magazines/2017/10/221326-a-large-scale-study-of-programmi

    не надо вообще нигде питон использовать. См. на диаграмму ошибок...

     
     
  • 3.67, Аноним (-), 22:59, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    +1000
     
  • 3.69, Аноним2 (?), 23:26, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Гитхаб же...
    Ну и плюс глядя на диаграмму я могу сказать cто не надо использовать C,C++ и PHP,
    а самый божественный язык это ... JS. И да, много буков, никто не будет это читать.
     
  • 3.75, cat666 (ok), 10:50, 07/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попытался сходить по ссылке. В результате

    Application error
    Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html

    Это всё из-за Python наверное, вот подлец то какой......

     
  • 3.80, Другой аноним (?), 16:41, 09/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > https://cacm.acm.org/magazines/2017/10/221326-a-large-scale-study-of-programmi
    > не надо вообще нигде питон использовать. См. на диаграмму ошибок...

    Судя по Вашей ссылке, с питоном как раз все хорошо, в отличие от c/c++.

     
  • 2.8, Аноним (-), 12:14, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Huitka быстрее, оно компиляется в СиСи
     
     
  • 3.26, Аноним84701 (ok), 14:32, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Huitka быстрее, оно компиляется в СиСи

    Это конечно аргУмент. Правда, можно и брейнфак в си компилировать, однако, бывалые ОЙтишники бают, что не умеют ЦПУ пока что сишку напрямки читать ... врут наверное.

    Учитывая, что сабж может через трейсинг  хоть как-то "вычислить" реально используемые типы и сгенерировать (благо, JIT) код под них, тогда как Nuitke для такого же результата придется подтянуть плагин "Оракул 2.0" и подключиться к /dev/crystalball  -- очень сомнительно.


     

  • 1.15, Мать драконов (?), 12:37, 06/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Писали бы на LISP/Haskell/Clojure и не выеживались. Вам сами боги дали божественный ((((())))) - синтаксис. А вы! Ээх!
     
     
  • 2.17, Andrey Mitrofanov (?), 12:43, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Писали бы на LISP/Haskell/Clojure
    >божественный ((((())))) - синтаксис

    ...кто-то что-то не знает про хаскаль? Не я, надкюсь.

     
     
  • 3.79, myhand (ok), 13:00, 09/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    $ ghci
    GHCi, version 8.0.1: http://www.haskell.org/ghc/  :? for help
    Prelude> ((((()))))
    ()

    Это все, что вы боялись, али еще есть?

     
  • 2.19, Аноним (-), 12:59, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Но надо признать, идеи, лежащие в основе CL, очень хороши.
     
     
  • 3.20, Мать драконов (?), 13:05, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какие такие идеи?
     
     
  • 4.25, A.Stahl (ok), 14:31, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Смайлики. Лиспо-листинги улыбаются программисту. И программист улыбается листингам.
     
     
  • 5.31, Мать драконов (?), 14:48, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И все счастливы
     
  • 5.32, Мать драконов (?), 14:48, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Смайлики. Лиспо-листинги улыбаются программисту. И программист улыбается листингам.

    А листинги питона - это боль и страдания

     

  • 1.34, RudW0lf (?), 14:57, 06/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хотите прод пример применения pypy -  пожалуйста. На pypy graphite (если быть точным его writers) работают на порядок(!) быстрее CPython. Есть конечно недостаток - потребление памяти почти в 2 раза больше, но этот размен стоит того.
     
     
  • 2.40, Аноним (-), 16:09, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Тут речь не о pypy vs CPython, а смысле дальнейшего существования Python вообще. Гугл пытался исправить ситуацию, но не получилось. Теперь мнение мирового сообщества склоняется к отказу от данного языка в пользу другого., по большей части задач к Go. Ну и зачем, спрашивается, его теребить дальше, если уже всё решили...
     
     
  • 3.44, a3000 (?), 16:34, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Фантазёры - они такие. Python перестают использовать только в сетевых сервисах, где он изначально был странным выбором. Почему выбор сделан в пользу убогого  Go - непонятно.
     
     
  • 4.51, Аноним (-), 18:07, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    У Go с самого старта всё в порядке. От убогости Python пыталась излечить сама google. Но убогость Python'а - это его суть. С этим ничего не сделать.
     
     
  • 5.71, lsd (??), 00:46, 07/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Особенно с net.http.client, да. Кто ходил по граблям тот знает.
     
  • 3.45, Борщдрайвен бигдата (?), 17:28, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > мнение мирового сообщества
    > уже всё решили

    Разговоры с голосами в голове вряд ли можно считать весомыми аргументами. Язык (любой) будет существовать ровно столько, сколько в нем будет потребности. Для Python она есть, и весьма сомнительно, что ее от токсичных комментариев на опеннете поубавится.

     
     
  • 4.59, Аноним (-), 18:32, 06/10/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Безусловно, Вы правы. Извращенцы в обществе были всегда, с чего вдруг им исчезнуть!
     
  • 4.74, Онаним (?), 02:39, 07/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Язык (любой) будет существовать ровно столько, сколько в нем будет потребности

    Не обязательно. Есть такие языки, нужность которых как таковых сама по себе, мягко говоря,  сомнительна, но некоторые нужные вещи на столько срослись с ними, что заменять их (языки) "in-place" на более адекватные кажется невыполнимой задачей. Примеры таких языков - Cobol, VBA и JavaScript.

     
     
  • 5.78, Аноним (-), 20:48, 07/10/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Примеры таких языков - Cobol, VBA и JavaScript,

    Java

     
  • 2.76, Аноним (-), 12:29, 07/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только какой смысл, если есть go-carbon и carbonapi, написанные на Go которые ещё на порядок быстрее чем оригинальный стек на pypy?
     

  • 1.39, Аноним (-), 16:08, 06/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что там насчёт PyPy.js?
     
     
  • 2.73, Онаним (?), 02:30, 07/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А что там насчёт PyPy.js?

    Вот же, положила: pyjs.org

     

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



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

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