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

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

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

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

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

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

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

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

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

     
     
  • 12.60, Ванёк (?), 12:03, 16/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    "Если вас какие-то инструменты С++ не устраивают - не используйте - делов то!"
     
  • 12.61, Ванёк (?), 12:10, 16/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Только вот много ли вы сделаете на С без возможностей С++, STL, Boost, Qt и прочих библиотек С++ :) Вы можете, конечно, велосипедить и извращаться... Мы же вам не запрещаем, а как раз наоборот, поддерживаем личный выбор каждого! Более того, может, вы программируете микроконтроллеры? В таком случае С++ вам действительно ни к чему.
     
     
  • 13.62, myhand (ok), 20:29, 16/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Только вот много ли вы сделаете на С без возможностей С++

    Ядро операционной системы (тьмы их), конпилятор(ы) C++, текстовый редактор Emacs, стопицот игр, вышеизложенные CPython и PyPy...  Кругом одни извращенцы!

     
  • 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 [^] [ответить]     [к модератору]  
  • +/
    Страдальцы уже переписали админ-скрипты, офисные макросы, конвертеры и предложил... весь текст скрыт [показать]
     
  • 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. Но плюсов особых не дает.

     
  • 3.59, Аноним3 (?), 03:50, 16/02/2019 [^] [ответить]    [к модератору]  
  • +/
    дело говорит. если мы будем рассматривать количество строк кода, то питон явно в выигрыше. сам сравнивал питон и с++ на программе считающей одну и туже формулу. тут вынужден согласиться питон впереди. хотя си мне больше нравится. но когда нужно просто создать такую вот незамысловатую программу расчета или парсер питон будет быстрее. на комбайнах это да си лучше из за скорости.
     

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


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