The OpenNET Project / Index page

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

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

26.12.2017 12:05

Доступен выпуск проекта PyPy 5.10, в рамках которого развивается реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Выпуск подготовлен одновременно для веток PyPy2.7 и PyPy3.5, обеспечивающих поддержку синтаксиса Python 2.7 и Python 3.5, и поставляемых с stdlib 2.7.13 и 3.5.3. Выпуск доступен для Linux (x86, x86_64, PPC64, s390x, ARMv6 или ARMv7 с VFPv3), macOS (x86_64), OpenBSD, FreeBSD и Windows (x86). PyPy3.5 5.10 отмечен как первый стабильный релиз ветки 3.5 для Linux и macOS (поддержка Windows пока имеет статус бета-версии).

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

В новых версиях в основном отмечаются исправления ошибок и небольшие улучшения. Например, улучшена обработка unicode, налажено совместное использование системы профилирования vmprof и расширения многопоточного программирования "greenlet", устранены некоторые недоработки в прослойке cpyext для обеспечения совместимости с C-API, улучшена поддержка платформы FreeBSD, до версии 1.11.2 обновлён модуль CFFI (C Foreign Function Interface). Следующим станет выпуск PyPy 6.0, в котором будут представлены значительные новшества.

  1. Главная ссылка к новости (https://morepypy.blogspot.ru/2...)
  2. OpenNews: Релиз PyPy 5.9, реализации Python, написанной на языке Python
  3. OpenNews: Обеспечена возможность запуска MicroPython в web-браузере
  4. OpenNews: Выпуск Nuitka 0.5.27, компилятора для языка Python
  5. OpenNews: В каталоге Python-пакетов PyPI выявлено 10 вредоносных библиотек
  6. OpenNews: Выпуск Cython 0.27, компилятора для языка Python
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/47809-pypy
Ключевые слова: pypy, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, Аноним (-), 13:03, 26/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Сначала наклепают скриптовой динамической хрени, а потом скачут вокруг этого пытаясь заставить перестать тормозить
     
     
  • 2.11, Blind Vic (ok), 15:31, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А вы не пытались понять, почему так происходит? К каким выводам пришли?
     
     
  • 3.12, Аноним (-), 15:55, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Отвечу. На время появления этих ЯП не было такого объема данных и нагрузки на сервисы, которые на них пытаются писать. Тогда и предсказать никто не мог насктолько бурного роста сети и ресурсов в ней, в эпоху перла и статичных html-страничек. И поэтому идея динамического ЯП, писать код на котором можно было быстрее, чем он выполняеся тогда казалось хорошей. Но время и развитие индустрии только подтвердило несостоятельность динамических и скриптовых ЯП. Сейчас к ним пытаются прикрутить опциональную типизацию: php7, typescript, mypy для питона. Компилировать кто во что горазд, либо вообще транслировать в другие ЯП. Те кто более сознательный, просто выкидывает это недоразумение на помойку и переписывает все на java/go.
     
     
  • 4.14, Мать драконов (?), 16:05, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Отвечу. На время появления этих ЯП не было такого объема данных и
    > нагрузки на сервисы, которые на них пытаются писать. Тогда и предсказать
    > никто не мог насктолько бурного роста сети и ресурсов в ней,
    > в эпоху перла и статичных html-страничек. И поэтому идея динамического ЯП,
    > писать код на котором можно было быстрее, чем он выполняеся тогда
    > казалось хорошей. Но время и развитие индустрии только подтвердило несостоятельность динамических
    > и скриптовых ЯП. Сейчас к ним пытаются прикрутить опциональную типизацию: php7,
    > typescript, mypy для питона. Компилировать кто во что горазд, либо вообще
    > транслировать в другие ЯП. Те кто более сознательный, просто выкидывает это
    > недоразумение на помойку и переписывает все на java/go.

    На С с крестами

     
  • 4.15, Blind Vic (ok), 16:11, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > На время появления этих ЯП не было такого объема данных и
    > нагрузки на сервисы, которые на них пытаются писать.

    Это показывает, что вы не [долго] работаете профессиональным программистом и судите о том, чего в чем не плавали.

    Языки типа часто Python используют там, где скорость разработки важнее, чем скорость работы приложения. Часто дешевле поднять еще один сервер, чем оптимизировать код или писать его на "правильных" ЯП. Иногда люди пишут на Питоне прототипы приложений, потому переписывают на другом языке. Либо переписывают части приложения на C. Когда приложение разрослось для больших корпораций дешевле оптимизировать весь язык, нежели переписывать проверенный в бою код.

    > Те кто более сознательный, просто выкидывает это недоразумение на помойку и переписывает все на java/go.

    Есть примеры?

     
     
  • 5.25, Аноним (-), 11:18, 27/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Так считают только ленивые програмисты которым тяп ляп и в продакшен. Также и новые дома строят на отепись.
     
     
  • 6.30, Аноним (-), 22:03, 27/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    сравнение с домами некорректно. Потому что затраченное время проектной и исполнительной работы и в том и в другом случаях (очередной веб-сервис и дом) примерно одинаковое, но планируемое время эксплуатации отличается во много-много раз.

    Наколенный веб-сервис будет работать ну может год, а потом он потеряет актуальность. Это касается подавляющего большинства этих поделок

    Дом же строится на десятки лет в любом самом ущербном случае. Никто не скажет, что строит дом на 1-3 года, это нонсенс.

    Поэтому, дома строить тяп-ляп недопустимо. А писать очередной тяп-лям-сервис на яве или питоне - самое то.

     
     
  • 7.36, лютый жабист__ (?), 08:09, 29/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >А писать очередной тяп-лям-сервис на яве

    Уровень экспертов опеннета налицо... разницы между жабкой и питоном не видят. Ты посамообразовывайся на праздниках про историю javaEE шоли, в следующем году одним клованом на опеннете меньше станет :)

     
  • 6.37, Elhana (ok), 14:46, 29/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Часто бывает, что просто тот кто первый вышел на рынок с идеей, получает всех пользователей и заставить их потом перейти на что-то другое очень сложно.
    Поэтому очень важно сделать что-то работающее быстрее остальных, а уже потом можно годами оптимизировать и переписывать.

    Даже в энтерпрайзе часто руководство говорит, что нужно что-то сделать еще вчера и им пофигу на то как оно будет работать, если будет решать поставленную задачу. И именно поэтому сейчас все на западе и потихоньку у нас дружно носятся со всякими Robotic Process Automation вместо нормальной интеграции систем - потому что там на бейсике на коленке что-то сваял за неделю и оно работает. А нормальный вариант - пишешь задачу разработчикам, они ее ставят в очередь, куча согласований, тестирование, документация - через пол года в лучшем случае есть результат.

     
  • 4.16, Blind Vic (ok), 16:24, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Те кто более сознательный, просто выкидывает это
    > недоразумение на помойку и переписывает все на java/go.

    Reddit
    Disqus
    FriendFeed (Sold to Facebook)
    YouTube
    Quora
    Douban
    Instagram
    GitHub

    Очевидно, что все это неразумные люди, а вы тут один Д'Артаньян?

    Как я уже говорил, это многое говорит о вашем опыте.

    https://blog.disqus.com/scaling-django-to-8-billion-page-views
    https://www.infoq.com/presentations/scaling-instagram
    https://www.quora.com/What-is-the-biggest-website-developed-in-python

     
     
  • 5.17, Аноним (-), 17:20, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А вот зато stackoverflow, без которого макаки всего мира не могут нагуглить jquery-плугин для сложения двух чисел, работает на точконете, следовательно, тот чувак в чём-то прав.
     
     
  • 6.21, Аноним (-), 22:07, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    просто они не умели Linux а что питон что другие интерпретаторы не шибко хорошо работают под виндами.
     
  • 5.18, Anton (??), 18:06, 26/12/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Github на руби
     
  • 5.24, Аноним (-), 11:17, 27/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А YouTube - уже на go.
    Чего и другим желают. https://opensource.googleblog.com/2017/01/grumpy-go-running-python.html

    Python не пригоден для высоконагруженных платформ - слишком дорого обходится железо

     
     
  • 6.34, FrameworkBy (?), 11:10, 28/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вы торопитесь. Не давнее месяца двух назад сотрудник Google рассказывал на конференции про YouTube и упоминал, что их backend норм работает на Python. Что-то переписать может и собираются, но уж точно ещё не переписали всё.
     
  • 3.22, Агроном (?), 05:14, 27/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вырастоет новое поколение пограммистов, для которых все в новинку и которым влом декларировать типы.
    Это уже не первая иттерация интереса к динамическим языкам, просто раньше ресурсов у компов было меньше и цикл был быстрее.
     

  • 1.23, Аноним (-), 09:34, 27/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Воротят что попала, чтобы спасти. Их предложение требует переписать код. Но если переписывать тяжелый код, то на язык, назначение которого высоконагруженные проекты, а не школьные лабы. Это предсмертные конвульсии.
    Скорость разработки на статически типизированных языках благодаря современным IDE, фреймфоркам, вроде Qt, и выявлению большей части ошибок на этапе компиляции, сейчас превышает скорость разработки на динамических языках. Динамическая типизация стала абузой для всех, кто в нее ввязался. Но на питоне очень много проектов, много кода, поэтому такая истерика, и так много шума. Пробуют все возможные варианты.
     
     
  • 2.35, qwerty123 (??), 18:41, 28/12/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Скорость разработки на статически типизированных языках ...
    > сейчас превышает скорость разработки на динамических языках.
    > современным IDE, фреймфоркам

    Домашку сделал, сказочник?

     

  • 1.26, Аноним (-), 12:51, 27/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Один и тот же ежечасно запускающийся скрипт на Java, VBS и Python: парсинг логов, нормализация, склонение по падежам, укладка в БД, рисование графиков, форматирование отчетов в офисных пакетах (COM), публикация на сайте:

    Java, VBS, Python
    140,  100,  30    человеко-часов (время разработки)
    220,  480, 100    секунд (скорость работы скрипта)

    Вот в упор не вижу где Питон медленный на одинаковой задаче.
    А время разработки - вообще делает "окупаемость" Питона просто недостижимой. Себестоимость программы - на 90% это время её разработки. Скорость работы скрипта - ничтожна, если считать деньги и время как деньги.
      
    Еще одно наблюдение: за какой-то час разработчик на питоне делает на 2-3 варианта решения задачи больше, чем джавист, а всё из-за pypi и 120 тыс. бесплатных и свободных библиотек.

     
     
  • 2.27, Аноним (-), 13:19, 27/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Java, VBS, Python
    >> 140,  100,  30    человеко-часов (время разработки)
    >> 220,  480, 100    секунд (скорость работы скрипта)

    Если измерять время для java как время запуска программы типа hello world миллион раз, то да, похоже на правду. Только кто ж так делает? Если это Java, то, вообще-то, даже процесс не завершается. Просто постоянно висящий сервис с загруженным кодом.

    >> Еще одно наблюдение: за какой-то час разработчик на питоне делает на 2-3 варианта решения задачи больше, чем джавист, а всё из-за pypi

    Однако, скорее всего, ни одно из этих решений не будет стабильным и пригодным к тиражированию в production

    >> и 120 тыс. бесплатных и свободных библиотек.

    Из них 110 тыс. неработоспособных, 8 тыс - подзаброшенных со скверной документацией, а остальные - кое как работающие....

    + традиционная питоновая проблема - вылавливание ошибков. Ловить ошибки в Ruby или Java-программах куда проще, чем в питоновых.
    Исследования же есть. По статистике питон один из самых опасных языков - https://cacm.acm.org/magazines/2017/10/221326-a-large-scale-study-of-programmi

     
     
  • 3.28, Аноним (-), 17:00, 27/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> ...Если это Java, то, вообще-то, даже процесс не завершается. Просто постоянно висящий сервис с загруженным кодом.

    - так и делается, скрипты висят постоянно и мониторят папку с файлами. Скорость работы скрипта - это время от появления файла до окончания обработки и перехода в idle.

    Я очень рад что хоть кто-то перепробовал все 120 (точнее их 124 тыс) библиотек. Я пока не сталкивался ни с одной, и за 10 лет неспешного "питоноводства" проверил от силы десятка три.  

    А про ошибки - смешно.  

     
     
  • 4.29, Аноним (-), 20:17, 27/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> - так и делается, скрипты висят постоянно и мониторят папку с файлами. Скорость работы скрипта - это время от появления файла до окончания обработки и перехода в idle.

    Абсолютно для любого языка можно подобрать пример столь корявой реализации, что он будет позади всех самых медленных прочих. Питон - язык медленный по природе. Чтобы заставить жаву работать в несколько раз медленнее питона, надо реально сильно постараться. По крайней мере на прямых вычислительных задачах

     
     
  • 5.31, Аноним (-), 08:16, 28/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я и сам был удивлен "прыткости" Питона и отношу его успех по скорости работы скрипта только на высокоуровневые библиотеки и биндинги к С-шным библам, особенно удачным в плане графики (libvips итп). Сама по себе экосистема СПО с таким кол-вом бесплатных инструментов - располагает к некоторому авантюризму, и часто это "работает" прорывно.

    Объем кода, кстати:
    JAVA 120kB, VBS 90kB, Python 75 kB.

    С учетом того что это не всегда копипаста, а в данном случае 60% кода перенабиралось ручками - лаконичность языка тоже имеет значение. Про читаемость питон-кода, наверное, все знают. Отступы - гениальное изобретение, не только давшее "принудительную красоту", но и давшее возможность увидеть плюсы структурного и функционального программирования, потому что нельзя просто так взять и сделать классы и функции неотличимыми от основного кода.

     
     
  • 6.32, Аноним (-), 09:23, 28/12/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Я и сам был удивлен "прыткости" Питона и отношу его успех по скорости работы скрипта только на высокоуровневые библиотеки и биндинги к С-шным библам, особенно удачным в плане графики (libvips итп). Сама по себе экосистема СПО с таким кол-вом бесплатных инструментов - располагает к некоторому авантюризму, и часто это "работает" прорывно.

    Скорее всего вопрос лишь в квалификации программиста

    >> Объем кода, кстати:
    >> JAVA 120kB, VBS 90kB, Python 75 kB.

    ok

    >> С учетом того что это не всегда копипаста, а в данном случае 60% кода перенабиралось ручками - лаконичность языка тоже имеет значение.

    Хотите лаконичность - пишите на Руби. Хотите лаконичность в жаве - пишите на Котлине или Груви.

    >> С учетом того что это не всегда копипаста, а в данном случае 60% кода перенабиралось ручками - лаконичность языка тоже имеет значение. Про читаемость питон-кода, наверное, все знают. Отступы - гениальное изобретение, не только давшее "принудительную красоту", но и давшее возможность увидеть плюсы структурного и функционального программирования, потому что нельзя просто так взять и сделать классы и функции неотличимыми от основного кода.

    Отступы - это задача для среды разработки. Программист должен заботиться о структуре и читаемости с позиции кода, а не о красоте отступов. Любая современная среда разработки сама отформатирует код на жаве. И, даже, на Руби.

    А на счёт ошибок смещения в питоне, когда строчку сдвинули из цикла или условия - так это легко

     

  • 1.33, Аноним (-), 09:27, 28/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что там numpy уже запилили?
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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