The OpenNET Project / Index page

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

13.10.2016 10:27  Выпуск PyPy3 5.5, реализации Python 3, написанной на языке Python

Доступен выпуск PyPy3 5.5.0, реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Ветка PyPy3 развивается синхронно с PyPy и отличается поддержкой Python 3. В частности, если выпуск PyPy обеспечивает поддержку языка Python 2.7.10, то PyPy3 предоставляет реализацию Python 3.3.5. Выпуск доступен для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS и Windows.

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

В новой версии проведена работа по улучшению совместимости с веткой Python 3.3 (3.3.5). Добавлена поддержка функций os.get_terminal_size(), time.monotonic(), str.casefold() и модуля faulthandler. В состав включён пакет ensurepip. Улучшен интерфейс для работы с буферами. Внесены улучшения в JIT. Началась работа по поддержке Python 3.5.

  1. Главная ссылка к новости (https://morepypy.blogspot.ru/2...)
  2. OpenNews: Выпуск PyPy 5.1, реализации Python, написанной на языке Python
  3. OpenNews: Выпуск PyPy 5.0, реализации Python, написанной на языке Python
  4. OpenNews: Первый стабильный выпуск PyPy3 с поддержкой Python 3
  5. OpenNews: Выпуск Pyston 0.5, реализации языка Python с JIT-компилятором
  6. OpenNews: PyPy.js - реализация языка Python для web-браузеров
Лицензия: CC-BY
Тип: Программы
Ключевые слова: pypy
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Rodegast, 10:58, 13/10/2016 [ответить] [смотреть все]
  • +3 +/
    > Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти

    JIT он такой: одно лечит, другое калечит...

     
     
  • 2.8, Аноним, 17:06, 13/10/2016 [^] [ответить] [смотреть все] [показать ветку]
  • –1 +/
    Такова природа алгоритмов Довольно редко бывает, что эффективности можно добить... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.10, Аноним, 17:34, 13/10/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Надеюсь это сказал прожжённый ассемблерщик, знающий как сделать на такт быстрее ... весь текст скрыт [показать]
     
  • 3.11, all_glory_to_the_hypnotoad, 17:43, 13/10/2016 [^] [ответить] [смотреть все]  
  • +/
    на самом деле такое бывает часто Даже бывает наоборот, т е нужно уменьшить кол... весь текст скрыт [показать]
     
     
  • 4.21, Аноним, 05:52, 14/10/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Ругать работу коллег-сишников жутко непрофессионально Я почему-то уверен, что в... весь текст скрыт [показать]
     
     
  • 5.23, all_glory_to_the_hypnotoad, 17:45, 14/10/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    А не си-шников можно Ох уж эти шовинисты-нравоучители В наше время рукожопых л... весь текст скрыт [показать]
     
  • 4.25, myhand, 21:14, 14/10/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Что же такого дерьмового в синтаксисе Python ничем принципиально не отличающи... весь текст скрыт [показать]
     
     ....нить скрыта, показать (6)

  • 1.2, Аноним84701, 11:21, 13/10/2016 [ответить] [смотреть все]  
  • +8 +/
    > реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python)

    Используется питон, которые не совсем питон ...
    Почему бы не писать просто про RPython (--- пояснение про RPython и про то, что там вообще-то Сишный бэкэнд, т.е. генерируется сишный код ;) --- ), а то эта копипаста уже года четыре из новости в новость кочует и каждый раз притягивает претендентов на звание Истинного Петросяна, с унылыми^W искрометно-юморными шутками про "питон, который на питоне, который на питоне надо было писать"

     
  • 1.3, антоним, 13:34, 13/10/2016 [ответить] [смотреть все]  
  • +2 +/
    Доступен выпуск Python, реализации языка Python, написанной на языке Python (используется статически типизированное подмножество Python).
     
     
  • 2.4, Аноним, 13:36, 13/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Go одним словом, только хуже.
     
     
  • 3.5, Наркоман, 13:53, 13/10/2016 [^] [ответить] [смотреть все]  
  • +/
    Но всё равно лучше питона, да.
     
  • 3.7, Crazy Alex, 14:58, 13/10/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Только лучше, вы хотели сказать
     
  • 3.9, vitalif, 17:12, 13/10/2016 [^] [ответить] [смотреть все]  
  • +/
    причём на amd64 это Go медленнее PyPy на вот этом https github com famzah l... весь текст скрыт [показать]
     
     
  • 4.12, Аноним, 19:11, 13/10/2016 [^] [ответить] [смотреть все]  
  • +/
    Ну как Java в ущерб памяти.
     
  • 4.13, Аноним, 19:30, 13/10/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    на числах Фибоначчи совсем другие результаты.
     
  • 4.20, angra, 04:16, 14/10/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    В этом бенчмарке достаточно сделать тривиальную оптимизацию заменив s := []int{} на s := make([]int, 0, n/2) и Go выдаст на 25% больше строчек, что как раз равно разнице между ним и pypy  в https://github.com/famzah/langs-performance/blob/master/results/2016-09-09.out
    Если заменить проход по s с помощью range на классический Cишный вариант, то получим еще 10%, а это уже победа. Замечу, что обе эти оптимизации не трогают алгоритм.
     
     
  • 5.22, vitalif, 16:04, 14/10/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    ну массив заранее там для многих языков можно выделить, и везде это, естественно, что-то улучшает. nodejs тоже в полтора раза ускоряется с выделением заранее.

    вопрос в том чтобы честно сравнить, на одинаковых операциях...

     
     
  • 6.26, angra, 22:03, 14/10/2016 [^] [ответить] [смотреть все]  
  • +/
    То есть ты предлагаешь намеренно неэффективный код на Go сравнить с оптимизациями PyPy? Ну ок, PyPy победил в этой номинации, только не надо из этого делать вывод, что он быстрее Go в реальных задачах.
     
  • 1.6, Аноним, 14:26, 13/10/2016 [ответить] [смотреть все]  
  • –1 +/
    Было бы хорошо если бы, 3.5, но они наверное не догонят
     
  • 1.14, Lhatsad, 22:28, 13/10/2016 [ответить] [смотреть все]  
  • –4 +/
    Тормозной язык переписанный на тормозном языке цитирую позволяет обеспечить выс... весь текст скрыт [показать]
     
  • 1.15, Vlad Violenty, 22:32, 13/10/2016 [ответить] [смотреть все]  
  • +/
    Как PyPy в длинной арифметике по сравнению с python?
     
     
  • 2.24, myhand, 21:09, 14/10/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Примерно также, как и у CPython - они используют умножение Карацубы для bigint с числом цифирь выше некоторого предела.  В противном случае - "школьное" умножение O(n**2).

    Хочите чудес - используйте библиотеки, написанные профи в предмете.  Для CPython есть обертка gmpy2 (для GMP).  Как у ей с cffi - не знаю.

    PS: А не, вот есть уже gmpy_cffi для pypy.

     

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


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor