LINUX.ORG.RU

Pyston 2.2

 ,


0

1

Вышла новая версия реализации языка программирования Python, ориентированная на производительность и основанная на CPython. По заявлениям разработчиков, форк быстрее в среднем на 30% относительно CPython, во многом за счёт вырезания возможностей по отладке программ.

Исходный код новой версии, которая является первой с полностью открытым исходным кодом, опубликован под лицензией PSFLv2.

Название произносится как [пистон].

>>> Подробности

★★★★

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 4)

осуществлён переход на Python 3 и отказ от LLVM

Почему в подробностях ни слова об этом, а в исходниках LLVM? Там лишь про слияние с каким-то новым релизом третьего питона.

xaizek ★★★★★
()

Базара нет

anonymous
()

По заявлениям разработчиков, форк быстрее в среднем на 30% относительно предыдущих версий этого форка

Pyston v2.2 is 30% faster than stock Python on our web server benchmarks.

Всё-таки не предыдущих версий, а ванильного питона.

Crocodoom ★★★★★
()
Последнее исправление: Crocodoom (всего исправлений: 1)

насколько оно совместимо с криптолибами и бенчмарки проводились по типу «лупы», «матемактика» и прочее?

noname_user ★★★
()
Ответ на: комментарий от anonymous

С евангелист, такие в 2021 еще существуют? уже все в курсе что такое С и что такое виртуалка...

noname_user ★★★
()

так вроде оригинальный питон уже был быстрее всех и типа чуть ли не как нормальный С работал

bernd ★★★★★
()
Ответ на: комментарий от rupert

Интересно, какая лицензия у Сишечки?

anonymous
()

Название произносится как [пистон].

Hi, my name is Linus Torwalds, and I pronounce pussy tone for you.

darkenshvein ★★★★★
()

Это тот пистон в который дропбокс жит завёз?

ya-betmen ★★★★★
()

Вопрос - зачем? Я постоянно вижу всякие новые языки и форки ориентированные на производительность. Только вот основная проблема современных вычислений не в производительности а недоступности ресурсов IO. Сколь бы быстр язык не был, он упрется в потолок возможностей системы ввода-вывода гораздо быстрее чем в потолок возможностей CPU. И это проблема не решается усовершенствованием языков. Именно по этой причине в реальной работе скорость С не отличается от Java. С быстрее выполняется, но сетевуха и диск одни, и работают они в сотни тысяч раз медленнее процессора. Поэтому и скорость работы будет идентична.

Serbis
()
Последнее исправление: Serbis (всего исправлений: 3)

Вопрос в первую очередь к авторам языка, как проводится тестирование производительности? Самый правильный тест будет - это написать на нем веб-сервер работающий с базой данных или выполняющий кросс-сетевые запросы. Сделать то же самое на обычном питоне и прогнать на них НТ. И вот тогда это будут реальные показатели быстродействия проекта.

Serbis
()
Последнее исправление: Serbis (всего исправлений: 1)
Ответ на: комментарий от Serbis

ну вот возьми свой реальный боевой высоконагруженный сервер, перезапусти на сабже и поделись результатом. ты ж в теме ориентируешься, наверное полно таких вот проектов есть?

trashymichael ★★★
()
Ответ на: комментарий от Serbis

Тут проблема ещё в сценариях использования Питона. Если по 10 раз за строчку кода ломиться за памятью в куче и примерно столько же раз гонять данные туда-сюда, это неслабо так замедлит любую сишку.

meliafaro ★★★★★
()
Ответ на: комментарий от trashymichael

Я вот прямо представил эту ситуацию. Прихожу я к нашему главному инженеру и говорю - я тут классную штуку нашел, Pyston называется, а давайте мы перепишем все наши три десятка микросервисов и общие библиотеки на него. Очень интересно какое у него выражение лица в этот момент будет))))))

Serbis
()
Ответ на: комментарий от Serbis

Так ничего переписывать не надо, это drop-in replacement cpython. Совместимый с сишными библиотеками в т.ч., правда их придется пересобрать.

pawnhearts ★★★★★
()
Ответ на: комментарий от pawnhearts

Мы работает с java, ну если точнее с kotlin. Плюс есть еще такая структура как служба безопасности, которая просто не допустит такой продукт к эксплуатации без полной ревизии кодовой базы. А ради «чисто попробовать» никто этим заниматься не будет. Так что попробовать не получится.

Serbis
()
Ответ на: комментарий от pawnhearts

Да и зачем вопрос это делать на живой инфраструктуре. Тут идея теста вся в том, что бы понять как язык справляется с вводом выводом. Для этого достаточно написать просто хеллоуролд который будет имитирвать какую-то работу с io.

Serbis
()
Последнее исправление: Serbis (всего исправлений: 1)
Ответ на: комментарий от Serbis

С быстрее выполняется, но сетевуха и диск одни, и работают они в сотни тысяч раз медленнее процессора. Поэтому и скорость работы будет идентична.

Ты какую-то одну ситуацию гиперболизировал, это не так. Не все приложения сетевые, это раз. Во вторых, далеко не каждое приложение работающие с сетью после каждого чиха отправляет данные на диск или в сеть.

Приложение может делать вычисления условные 30 минут с минимальной нагрузкой на сетевуху, за это время выполняются функции и алгоритмы, через которые пройдут гигабайты. И в следствии всего этого через сесть пройдёт 1мб.

гораздо быстрее чем в потолок возможностей CPU

Вопрос не в том, что и куда упрётся, а с какой скоростью происходит выполнение. Условный калькулятор на электроне, тоже не упирается в современный процессор и 16гб ram. И такой же калькулятор на голой сишке не упирается. Ты почему-то проводишь между ними знак равенства.

shpinog ★★★
()
Последнее исправление: shpinog (всего исправлений: 1)
Ответ на: комментарий от Serbis

Именно по этой причине в реальной работе скорость С не отличается от Java. С быстрее выполняется, но сетевуха и диск одни, и работают они в сотни тысяч раз медленнее процессора

А как насчёт задач без работы с io?

pihter ★★★★★
()
Ответ на: комментарий от shpinog

Ты какую-то одну ситуацию гиперболизировал, это не так. Не все приложения сетевые, это раз.

Таких приложений сейчас мало. Если говорить конкретно про питон, то судя по hh.ru таких приложений < 5% от общей кодовой базы которая сейчас разрабатывается.

Во вторых, далеко не каждое приложение работающие с сетью после каждого чиха отправляет данные на диск или в сеть.

Верно, но на практике это пакетные отправки в высоконагруженных системах. Как пример - Kafka, она отправляет данные пакетами, только вот нужно обратить внимание на размер пакетов, он огромен в сравнении с разовыми отправками. Так что io тут просто размазывается во времени, но не уменьшается. То же самое можно сказать например про сassandra, она использует метод пакетного флюшинга, но опять же, эта система работает с очень большими данными, если она не будет использовать флюшинг, она загнется намного раньше чем с ним. Т е ситауия та же самая, сгладить пики, растянув нагрузку по времени. Все остальное это уже из области научной эзотерики.

Ты почему-то проводишь между ними знак равенства

Опять же потому что питон это в большинстве случаев про очень активную работу с io

Serbis
()
Последнее исправление: Serbis (всего исправлений: 1)
Ответ на: комментарий от pihter

Опять же отвечу как и предыдущему комментатору. Их крайне мало в современных реалиях. Кстати, интересно что пишет сам автор pyston:

Pyston is a fork of CPython 3.8.8 with additional optimizations for performance. It is targeted at large real-world applications such as web serving, delivering up to a 30% speedup with no development work required.

Он сам пишет что язык ориентирован в первую очередь для веб-приложений. А веб-приложения это один сплошной ввод-вывод.

Serbis
()
Последнее исправление: Serbis (всего исправлений: 1)
Ответ на: комментарий от Serbis

Ну мысль твоя ясна, но с таким подходом и скайп, который на три чатика жрёт 4 гига - ничего дурного

pihter ★★★★★
()
Ответ на: комментарий от Serbis

Таких приложений сейчас мало. Если говорить конкретно про питон, то судя по hh.ru таких приложений < 5% от общей кодовой базы которая сейчас разрабатывается.

Какая-то странная методология. Получается 95% от всего когда на этой планете, это код работающий с сетью. Но нет. Даже на сервере это не так, не говоря уже о писюнах.

Верно, но на практике это пакетные отправки в высоконагруженных системах.

Это опять мысль в себе. Твоё утверждение негласно подразумевает, что современное ПО разрабатывается и работает в основном в таких системах. Хотя в объективной действительности таких систем меньшинство.

Твой условный высоконагруженный сервер, работает с миллионом клиентов. Из чего само по себе следует, что сами клиенты в своём большинстве высоконагруженными системами не являются. На самих клиентах то же есть софт, и на таких системах разнообразие софта выше.

Опять же потому что питон это в большинстве случаев про очень активную работу с io

Ты просто транслируешь мантры вида «Java быстрая, потому что работает и разницы нет». Там дальше и до, по списку, мантры вида «добавим памяти, ничего страшного», «Скорость разработки» и прочее.

Всё это концептуальные ловушки для лохов. Быстрее не значит - может работать. Тоже выполняет - не значит выполняет с такой же скоростью.

shpinog ★★★
()

Компания Facebook опубликовала исходные тексты проекта Cinder, развивающего ответвление от CPython 3.8.5, основной эталонной реализации языка программирования Python. Cinder применяется в рабочей инфраструктуре Facebook для обеспечения функционирования сервиса Instagram и включает оптимизации для повышения производительности.

Код опубликован для обсуждения возможности переноса подготовленных оптимизаций в основной состав CPython и для помощи другим проектам, занимающимся повышением производительности CPython. Facebook не собирается поддерживать Cinder в форме отдельного открытого проекта и код представлен в том виде, в котором используется в инфраструктуре компании, без дополнительного причёсывания и документирования. Cinder также не пытаются продвигать как альтернативу CPython - основной целью разработки является желание улучшить сам CPython.

https://github.com/facebookincubator/cinder https://www.opennet.ru/opennews/art.shtml?num=55083

linuxdoe
()
Ответ на: комментарий от dyasny

Вот вот, это какое-то хипстерство писать «веб-приложения» на тормозных говноязыках, а потом, как прижмет, в поту и с дикими овертаймами переписывать всё на go. А рано или поздно прижмет.

Reset ★★★★★
()
Ответ на: комментарий от bernd

так вроде оригинальный питон уже был быстрее всех и типа чуть ли не как нормальный С работал

Издеваешься? :) Никогда не бывал. Решения на питоне бывают быстрыми только с питоном в качестве обвязки, когда почти всё выполняется в сишной библиотеке. Есть, правда, всякие фокусы с компиляцией, но заставить их работать — отдельная задача.

P.S. Была где-то статья Ван Россума, как он неочевидными правками повысил скорость скрипта в 80 раз. И такие фокусы на каждом шагу.

question4 ★★★★★
()
Последнее исправление: question4 (всего исправлений: 2)
Ответ на: комментарий от dyasny

Тормозит, но не так сильно как питон.

Reset ★★★★★
()
Ответ на: комментарий от dyasny

С разморозочкой, уже 10 лет как io не узкое место

Все еще узкое. При чем узкое не на этапе чтения с носителя, а на этапе запросов.

Собсна поэтому до сих пор и изобретают всякие костыли вроде BFS, поллы, NVMe и прочую ересь. Оно таким было всегда.

Одно дело когда одна программа с носителя считывает мегабайт. И совсем другое, когда 1024 программы считывают с носителя по одному килобайту.

windows10 ★★★★★
()

На мое ИМХО, пистон нужно использовать там, где на скорость работы можно забить болт в угоду скорости написания. Всякие там утилиты для разбивки диска, инсталляторы и прочую ересь.

Но хайлоад - это уже другой левел, нельзя просто так взять Приору и прикрутить другой движок чтоб оно ехало 400 как Ламба.

Те бакланы которые вьезжают на питоне в мир высокопроизводительности - вызывают у меня грусть и недоумение.

windows10 ★★★★★
()
Ответ на: комментарий от Serbis

просто хеллоуролд который будет имитирвать какую-то работу с io

это тест производительности IO подсистемы операционки и системных шин с периферией.

baist ★★
()
Ответ на: комментарий от Serbis

Это так только для кода, который ниего не вычисляет. Если просто взять что-то из ДБ и отдать по сети, то тут да, никакой разницы между С и питоном. Но бывают и другие сценарии.

andalevor ★★
()

во многом за счёт вырезания возможностей по отладке программ

Ээээ. А это правда хорошая идея?

Aswed ★★★★★
()
Последнее исправление: Aswed (всего исправлений: 1)
Ответ на: комментарий от windows10

Но хайлоад - это уже другой левел, нельзя просто так взять Приору и прикрутить другой движок чтоб оно ехало 400 как Ламба.

У меня для тебя плохие новости, но весь современный machine learning - это пейтон (хотя, в последнее время хипсторы ещё и js туда тянут).

anonymous
()
Ответ на: комментарий от dyasny

Все нормально, виндузятники должны страдать

А че страдать ? Когда выпускается какая-то технология, костыльная или нет, виндузятники НИКОГДА не заморачиваются, будет она работать или нет. Она по умолчанию работает. Страдания - на других форумах, где юзеры страдают от несовместимости железа с софтом, и обсуждают какие ноутбуки будут поддерживаться их ОС ;)

Только при чем тут винда, если новость про пистон ?

windows10 ★★★★★
()
Последнее исправление: windows10 (всего исправлений: 1)

Питон это позор человечества. Должен быть осужден и запрещен как были работы идеологов из окружения Гитлера.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.