The OpenNET Project / Index page

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

12.02.2019 09:28  Релиз 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 не вошёл в релиз.


  1. Главная ссылка к новости (https://morepypy.blogspot.com/...)
  2. OpenNews: Релиз PyPy 6.0, реализации Python, написанной на языке Python
  3. OpenNews: Увидел свет язык программирования Python 3.7
  4. OpenNews: Выпуск Nuitka 0.6.0, компилятора для языка Python
  5. OpenNews: Утверждена новая модель управления разработкой Python
  6. OpenNews: Проект RustPython развивает реализацию интерпретатора Python на языке Rust
Лицензия: CC-BY
Тип: Программы
Ключевые слова: pypy, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.4, Аноним (4), 11:02, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • –4 +/
    Скажите, в этой реализации тоже есть GIL?
     
     
  • 2.8, Аноним (8), 12:04, 12/02/2019 [^] [ответить]    [к модератору]
  • +3 +/
    Да есть пользуйся не бойся
     
     
  • 3.9, Аноним (4), 12:23, 12/02/2019 [^] [ответить]    [к модератору]
  • +/
    Тогда я не очень понимаю смысл этого прожекта. Переписать на питоне просто чтобы переписать на питоне?
     
     
  • 4.11, Аноним84701 (ok), 13:22, 12/02/2019 [^] [ответить]     [к модератору]
  • +2 +/
    А пройти по ссылке и прочитать не позволяют религиозные убеждения ... весь текст скрыт [показать]
     
     
  • 5.34, Mike Lee (?), 16:23, 13/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    ну казалось бы оно работает быстрее не потому что переписано на питоне а потому ... весь текст скрыт [показать]
     
     
  • 6.37, Аноним84701 (ok), 16:50, 13/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Можно Гугловский Unladen Swallow был именно форком CPython PySton был на плюса... весь текст скрыт [показать]
     
     
  • 7.51, funny.falcon (?), 22:35, 14/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    > но вот то, что гугл и дропбокс прикрыли свои форки, так и недобившись цели, а PyPy все еще относительно бодр и жив …

    Золотые слова!

    GraalVM пошел тем же путем, но вместо Python взяли Java.

    Думаю, в перспективе GraalVM, как фреймворк для построения JIT компиляторов, получит большее распространение. Всё-таки, и поддержка многопоточности из коробки имеется, и опыт в сборщиках мусора намного больше. А еще мне кажется, что модель автоматической генерации jit компилятора из интерпретатора AST дерева имеет большую гибкость, чем из интерпретатора байткода (как в PyPy).

    Но, как бы то ни было, PyPy навсегда останутся в истории как те, кто первыми доказал, что игра стоит свеч.

     
  • 2.13, Аноним (13), 14:54, 12/02/2019 [^] [ответить]    [к модератору]  
  • +5 +/
    ты хоть понимаешь смысл GIL?
     
     
  • 3.17, Аноним (17), 20:18, 12/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    ты хоть понимаешь смысл GIL?
    > Конечно! Чтобы тормозить?
     
     
  • 4.30, анонн (?), 15:15, 13/02/2019 [^] [ответить]     [к модератору]  
  • +3 +/
    Ох уж эти понимальщики опеннета Поправил, не благодари ... весь текст скрыт [показать]
     
  • 1.5, botman (ok), 11:11, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Python версии 3.7, а у этих уже свой путь и более лучшая нумерация версий - 7.0.
     
     
  • 2.7, Аноним (7), 11:51, 12/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    Там не так много фич и большинство пакетов с 3.5 еще работают.
    Да и воообще в Debian Stretch в репах именго 3.5, и они не парятся, pip работает.
     
  • 1.10, ikomb (ok), 13:00, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ннада еще реализацию JS на JS, чтобы был... Так стоп...
     
     
  • 2.14, OpenEcho (?), 15:26, 12/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    ??? nodejs is JIT вообще то...
     
     
  • 3.15, анонн (?), 15:51, 12/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    > ??? nodejs is JIT вообще то...

    Но не на JS или его подмножестве. Хотя оно и понятно - писать JIT чутка сложнее, чем редактор или плеер на электроне.


     
  • 1.16, Аноним (16), 19:02, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    > Добавлена поддержка платформы GNU Hurd.

    Оч. нужная платформа.

     
  • 1.18, Ванёк (?), 20:51, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    C++ и ASM - лучшая связка. Остальное - от лукавого!
     
     
  • 2.19, Аноним3 (?), 21:54, 12/02/2019 [^] [ответить]    [к модератору]  
  • +4 +/
    тогда уж чистый си )) наковыряли в плюсах столько что аж страшно)) сделай прогу на си и оберни её на питоне не будет медленнее))
     
     
  • 3.25, Аноним (25), 09:46, 13/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Скорее, прогу на Питоне. Там же есть классы и всё такое, а отдельные критичные методы на C.
     
     
  • 4.26, X4asd (ok), 12:11, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    уж лучше сделай прогу на си сделать всё что требует топорной работы на C а пото... весь текст скрыт [показать]
     
     
  • 5.42, Ванёк (?), 03:05, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Лучше прикладную работу на С++, а топорную на ASM - это даёт высокую производительность, хорошую гибкость и большие возможности по дальнейшему увеличению производительности без ущерба для гибкости. Другие связки ничего близкого по балансу производительности и гибкости не дают.
     
  • 2.24, лютый жабист__ (?), 05:34, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Достоверно известно, что требование чтобы программа ела мало ОЗУ и быстро работ... весь текст скрыт [показать]
     
     
  • 3.27, X4asd (ok), 12:18, 13/02/2019 [^] [ответить]     [к модератору]  
  • +2 +/
    достоверно известно что 99 дерьма которое создаёт бизнес особенно в плане софт... весь текст скрыт [показать]
     
     
  • 4.39, Урри (?), 17:42, 13/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Только я бы сказал "псевдобизнес". Бизнес, как ни странно, достаточно много книмания уделяет скорости работы.
     
     
  • 5.44, лютый жабист__ (?), 05:18, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >Только я бы сказал "псевдобизнес".

    Сказал А, говори Б. Список труъ бизнесов, у которых сайт сделан на ASM (ну или ОК, ansi c).
    ERP аналогично, не проклятый сплошь жабовый SAPик, а труъ сишный ERP.

     
     
  • 6.45, Аноним (45), 12:51, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    ТОП 5 бизнесов, где ОС сделана на javascript
     
  • 6.50, Ванёк (?), 21:34, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Сайты частично сделаны на ASM, и браузеры тоже! На ASM пишутся критически важные по производительности, расходу памяти, часто задействуемые части программы, то, что проще сделать на ASM, чем на чём-то другом (открытие?! да, такое случается чаще, чем многие думают!), и то, что другими средствами сделать невозможно, а не всё подряд :)
     
     
  • 7.52, лютый жабист__ (?), 05:58, 15/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >Сайты частично сделаны на ASM, и браузеры тоже!

    Давай пойдём дальше в твоем передергивании. В питоне многое написано на си (а может и на ассемблере). Вообще говоря JVM написана на си+асм.

    Итого: ойвсё, любая прога написана на асме.

     
     
  • 8.54, Ванёк (?), 12:22, 15/02/2019 [^] [ответить]    [к модератору]  
  • +/
    JVM придумали, чтобы куча неопытных "индусов" смогла клепать хоть какой-то через ж-пу работающий код, т.к. С++ требует аккуратности и понимания, что вы делаете, зачем и какие возможности языка уместно применять в конкретном случае, а какие приведут к потери производительности и распуханию программы. Естественно, для эффективного применения С++ надо понимать, в какие примерно машинные инструкции преобразуется ваш код и как будут организованы данные в памяти, чтобы код оставался эффективен. Т.е. вы можете кодировать на С++, как на Java или другом языке высокого уровня, но преимущества С++ раскрываются при понимании, как работает железо и, при необходимости, дозированном использовании ASM, если вы строите высокопроизводительные системы.

    В С++ есть гораздо больше интересных вещей, чем предоставляет любая JVM, плюс в некоторых компиляторах С++ возможность тесной связки с ASM, которой нет и не может быть в языках на JVM, т.е. сравнимого сочетания производительности и гибкости другими средствами, кроме как сочетанием С++ и ASM вы не получите, как не старайтесь, и разница в производительности будет как минимум на порядок. Поэтому там, где программы на C++ и ASM работают на дохлом железе, в иных случаях строят дата-центры, чтобы вся эта телега хоть как-то работала.

    И помните! Процессор - это аппаратная "JVM", которую нужно умело использовать, а не убивать её возможности программными прослойками в виде других JVM!

     
     
  • 9.55, myhand (ok), 12:31, 15/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    > т.к. С++ требует аккуратности и понимания, что вы делаете

    Если вы используете C++, а не C - то вы уже натурально что-то не понимаете.

    > В С++ есть гораздо больше интересных вещей, чем предоставляет любая JVM

    Да уш...  Прям как в поделии д-ра Франкенштейна.

     
     
  • 10.56, Ванёк (?), 14:27, 15/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    С есть подмножество С++, т.е. С++ - это С кучей примочек. Например, какой смысл изобретать на С ООП, если оно есть в С++? Или почему бы не использовать более удобные средства вывода С++ на консоль? Компиляторы С и С++ используются одни и те же. Эффективность одна и та же и в плане производительности, и в плане расхода памяти. Если вас какие-то инструменты С++ не устраивают - не используйте - делов то!
     
     
  • 11.58, myhand (ok), 22:49, 15/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > С есть подмножество С++, т.е. С++ - это С кучей примочек.

    Именно!  Куча ...

    > Например, какой смысл изобретать на С ООП, если оно есть в С++?

    Какой смысл не есть какашки?

    > Или почему бы не использовать более удобные средства вывода С++ на
    > консоль?

    Кто вам сказал, что изнасиловав оператор сдвига C++ сделал "более удобный вывод на консоль"?

     
  • 1.28, economist (?), 12:58, 13/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • –2 +/
    В Python итак много сишного и сишных библ, поэтому ускорять с помощью С плюсов -... весь текст скрыт [показать]
     
     
  • 2.29, kai3341 (ok), 13:54, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Два чаю этому господину Добавлю, что настоящие профессионалы и на C C напишут... весь текст скрыт [показать]
     
  • 2.31, Andrey Mitrofanov (?), 15:15, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    А тем временем в далёкой-далёкой вселенной I In a new blog post, one of I... весь текст скрыт [показать]
     
     
  • 3.47, myhand (ok), 16:53, 14/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Производительности мало не бывает, покуда не изобрели процессор с опкодом "сделай мне зашибись".
     
  • 2.33, Аноним (33), 16:13, 13/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Так надо бы на нём браузер написать, раз в 10 раз быстрее стало. А то до сих люди пор люди на сях страдают.
     
     
  • 3.35, анонн (?), 16:27, 13/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Так надо бы на нём браузер написать, раз в 10 раз быстрее стало. А то до сих люди пор люди на сях страдают.

    Страдальцы уже переписали админ-скрипты, офисные макросы, конвертеры и предложили поддержку? Или как обычно, только указываюти и направляют "как правильно"?

    > браузер
    > на сях

    И где такое чудо (движок, умеющий в современный веб)?


     
  • 1.32, Аноним (32), 16:11, 13/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Питон у меня ассоциируется с коболом. Там тоже нужно умело пробелы перед операторами расставлять.
     
     
  • 2.36, жека воробьев (?), 16:37, 13/02/2019 [^] [ответить]    [к модератору]  
  • +/
    пробелы это не сложно, попробуй
     
     
  • 3.38, Урри (?), 17:36, 13/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Не, мы лучше на нормальных языках писать будем.
     
  • 2.40, Аноним3 (?), 19:57, 13/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    ну уж извини пробелы и скобки необходимые в сях , в питоне не особо нужны( особенно скобки) в привычном для си написании. они там тоже есть, но используются для другого. честно сказать когда взялся за питон первый раз думал придется долго и нудно учить как в сях. а тут раз и на 3 день начал писать прогу по перелопачиванию xml  с помощью регулярок. потом попробовал на сях.... поверь кода точно в 2 раза меньше и вылезающие ошибки правятся моментом( тот же интерпретатор сам все объясняет). на сях ... не так просто оказалось. кода больше и отлов багов сложнее. как по скорости. честно не заметил разницы. ну прога была небольшая.
     
     
  • 3.41, Аноним (41), 02:28, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    А скорость "по перелопачиванию xml с помощью регулярок" не смутила? Меня бы смутила даже на Сях без регулярок ;)
     
     
  • 4.57, Аноним3 (?), 22:13, 15/02/2019 [^] [ответить]    [к модератору]  
  • +/
    вы походу никогда не использовали питон. чес слово я специально написал одну и ту же простенькую программку расчета по одной формуле из сапромата. и на глаз разницы не увидел. может быть если замерять спецом и было что то, но так никакой разницы. если писать огромные комбайны на питоне может и есть что то . но нафига мне комбайны. я люблю использовать кучку маленьких прог каждая для своей работы.
     
  • 1.46, myhand (ok), 16:51, 14/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    myhand одобряет pypy (похоже успели в Buster)

    больше revdb для народа!

     
  • 1.48, economist (?), 17:09, 14/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Моя метрика за >0.5k-часов кодинга в VSC:

    1) Кодинг на JavaScript - 2.7% на печатание {}:()SPACE;
    2) Кодинг на Python - 0.06% на печатание {}:()SPACE;

    А с IntelliSense, автодополнениями и линтерами - итого лучше.  

    Насчет всяких парсеров xml - об этом писал в 1.28: модули Питона типа re - написаны на сях или чем-то быстром. А библиотеки парсеры - просто написаны на всё, что только может понадобится в жизни (на просто Питоне).      

     
     
  • 2.49, Andrey Mitrofanov (?), 17:36, 14/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    > Моя метрика за >0.5k-часов кодинга в VSC:
    > 1) Кодинг на JavaScript - 2.7% на печатание {}:()SPACE;
    > 2) Кодинг на Python - 0.06% на печатание {}:()SPACE;

    С кистевым туннельным синдромом боретесь?  Важна каждая скобочка?
    https://www.anekdot.ru/id/334092/

    Или это сравнение пробелов питона со скобочками?  8-0


    > А с IntelliSense, автодополнениями и линтерами - итого лучше.

    Обучаемые бредогенераторы не пробовали?

     
     
  • 3.53, economist (?), 07:57, 15/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Кисти не болят только у тех, кто ничего не делает.

    В VSC "бредогенератор" в IntelliSense встроен с 1.23. Но плюсов особых не дает.

     

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


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