The OpenNET Project / Index page

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

Проект Pyston, предлагающий Python с JIT-компилятором, вернулся к открытой модели разработки

05.05.2021 22:23

Разработчики проекта Pyston, предлагающего высокопроизводительную реализацию языка Python, использующую современные технологии JIT-компиляции, представили новый выпуск Pyston 2.2 и объявили о возвращении проекта в число открытых. Реализация нацелена на достижение высокой производительности, близкой к производительности традиционных системных языков, таких как C++. Код ветки Pyston 2 опубликован на GitHub под лицензией PSFL (Python Software Foundation License), аналогичной лицензии на CPython.

Напомним, что ранее проект Pyston курировала компания Dropbox, которая в 2017 году прекратила финансирование разработки. Разработчики Pyston основали свою компанию и выпустили существенно переработанную ветку Pyston 2, которая была объявлена стабильной и готовой для широкого использования. При этом разработчики прекратили публикацию исходных текстов и перешли к предоставлению только бинарных сборок. Теперь Pyston решено опять сделать открытым проектом, а компанию перевести на бизнес-модель, связанную с разработкой открытого ПО. Более того, рассматривается возможность переноса оптимизаций из Pyston в штатный CPython.

Отмечается, что Pyston 2.2 в тестах производительности, оценивающих нагрузки свойственные приложениям для web-сервера, быстрее штатного Python на 30%. Также отмечается значительное увеличение производительности Pyston 2.2 по сравнению с прошлыми выпусками, чего удалось добиться в основном за счёт добавления оптимизаций для новых областей, а также усовершенствованию JIT и механизмов кэширования.

Помимо оптимизации производительности новый выпуск также интересен переносом изменений из ветки CPython 3.8.8. С точки зрения совместимости со штатным Python, проект Pyston преподносится как наиболее совместимая с CPython альтернативная реализация, так как Pyston является ответвлением от основной кодовой базы CPython. В Pyston поддерживаются все возможности CPython, в том числе C API для разработки расширений на языке Си. Среди основных отличий Pyston от CPython выделяется использование DynASM JIT, inline-кэширования и общих оптимизаций.

Из изменений в Pyston 2.2 также упоминается проведение чистки кодовой базы от многих отладочных возможностей CPython, которые негативно влияют на производительность, но при этом почти не востребованы у разработчиков. Приводится статистика, в соответствии с которой удаление отладочных средств приводит к ускорению работы на 2%, при том, что лишь примерно 2% разработчиков используют данные функции.

  1. Главная ссылка к новости (https://blog.pyston.org/2021/0...)
  2. OpenNews: Выпуск Pyston 2, реализации языка Python с JIT-компилятором
  3. OpenNews: Выпуск компилятора Nuitka 0.6.6. Прекращение поддержки Python 2.7 перенесено на апрель
  4. OpenNews: Выпуск Cython 0.27, компилятора для языка Python
  5. OpenNews: Выпуск Pyston 0.6, реализации языка Python с JIT-компилятором
  6. OpenNews: Dropbox прекращает разработку Pyston. Опубликован финальный выпуск 0.6.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55088-pyston
Ключевые слова: pyston, python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:36, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    *шутка за 300*
     
     
  • 2.2, Аноним (2), 22:39, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "шутка про тракториста"
     
     
  • 3.41, Любитель Монеточки (?), 08:19, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тракторист или ИВан?
     
  • 2.28, Анонас а мы его (?), 01:44, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Только ради этого зашёл.
     
     
  • 3.38, Аноним (38), 08:05, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "Только ради этого и живу!" (C) Вин Дизель
     
  • 2.52, Аноним (52), 15:23, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    поясните юмор
     

  • 1.3, Аноним (3), 22:39, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Вот что Facebook животворящий делает. Как засуетились после публикации Cinder.
     
  • 1.8, Аноним (8), 23:01, 05/05/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +4 +/
     

     ....ответы скрыты (11)

  • 1.9, Аноним (9), 23:04, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Закроем, откроем, завтра опять закроем. В опенсорсе многое на репутации держится
     
     
  • 2.22, Аноним (22), 00:28, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Увы но большая часть опенсорса хуже проприетарщины, значит бесплатный урезанный релиз для бета-тестеров, а уже полноценный Pro/Enterprise/Business эдишн за бабло
     

  • 1.10, Аноним (10), 23:05, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Pyston, сделай JIT-компилятор попроще! Только не разбей..
     
  • 1.13, Аноним (15), 23:33, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это все конечно хорошо что разные вариации питона развиваются. Эволюция, естественный отбор и тд, что-то из этого войдет и в мейнстрим.
      
    Только боюсь как бы дело до фрагментации не дошло.
     
  • 1.17, lufog (ok), 23:52, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем только не страдают, лишь бы не писать на нативных(компилируемых) языках программирования...
     
     
  • 2.25, ИмяХ (?), 00:49, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Что только не придумают, лишь бы не писать на ассемблере
     
     
  • 3.44, Анонин (?), 08:33, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ... интерпретатор для перла.
     
     
  • 4.68, kusb (?), 02:37, 11/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Под реальный режим
     
  • 3.71, lufog (ok), 21:09, 26/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Что только не придумают, лишь бы не писать на ассемблере

    Как человек который знаком с ассемблером могу с уверенностью сказать что различия между ассемблером, и C/C++ гораздо более значительны, чем различия между C/C++ и Python. На чистом ассемблере многие не пишут потому, что выполнение той же задачи занимает в сотни раз больше времени, серьезный ассемблерный код очень объемен по нему трудно ориентироваться, и вообще научится мыслить ассемблером (читать/составлять алгоритмы, структуру программы) во много-много раз труднее. Так что сравнение гиперболизировано и в корне неверно. При всем при этом ассемблер все еще востребован, при программировании энергоэффективных микроконтроллеров, устранении так называемых узких мест в высоко нагруженных системах, или как в моем случае при патчинге кода находящегося в оперативной памяти. Также его знает любой программист который работает в области обратной разработки, ибо генерируемый IDA/Ghidra, C код в половине случаев неверен, и запутывает больше чем ассемблерный листинг.

     
  • 2.31, 1111 (??), 02:32, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Чем только не страдают, лишь бы не писать на нативных(компилируемых) языках программирования...

    это сейчас была мольба сделать нормальный компилятор для питона?

     
     
  • 3.36, n00by (ok), 07:08, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>Чем только не страдают, лишь бы не писать на нативных(компилируемых) языках программирования...
    > это сейчас была мольба сделать нормальный компилятор для питона?

    Наверняка. Не может же быть, что он не знает 10-е правило Гринспена.

     
     
  • 4.72, lufog (ok), 21:13, 26/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Чем только не страдают, лишь бы не писать на нативных(компилируемых) языках программирования...
    >> это сейчас была мольба сделать нормальный компилятор для питона?
    > Наверняка. Не может же быть, что он не знает 10-е правило Гринспена.

    Десятое правило Гринспена: Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp.

    Впоследствии хакер Роберт Моррис уточнил: …в том числе и сам Common Lisp.

     
     
  • 5.74, n00by (ok), 08:35, 27/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот. Соответственно и Python -- глючная и медленная реализация половины языка Common Lisp.
     
  • 2.32, Амоним (?), 02:56, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>> Чем только не страдают, лишь бы не писать на нативных(компилируемых) языках программирования...
    >> Чем только не страдают, лишь бы не писать на нативных (для процессора) языках программирования, типа ассемблера ...
    > Чем только не страдают, лишь бы не писать в нативных (для процессора) машинных кодах

    Чем только не страдают, лишь бы не спаять цифровую логику строго под алгоритм

     
     
  • 3.43, Аноним (15), 08:28, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И вообще - чем только не страдают, лишь бы делом не заниматься. Еще никто не умер от того что считал на счетах или на бумажке, развели тут понимаешь "прогресс". Не зря же говорят, двигатель прогресса это лень.
     
  • 3.73, lufog (ok), 21:16, 26/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>>> Чем только не страдают, лишь бы не писать на нативных(компилируемых) языках программирования...
    >>> Чем только не страдают, лишь бы не писать на нативных (для процессора) языках программирования, типа ассемблера ...
    >> Чем только не страдают, лишь бы не писать в нативных (для процессора) машинных кодах
    > Чем только не страдают, лишь бы не спаять цифровую логику строго под
    > алгоритм

    Чтобы не повторятся, посмотрите немного выше, мой ответ к комментатору ИмяХ. Там я написал почему это сравнение не корректно.

     

  • 1.26, Аноним (26), 00:53, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    почему не на расте?
     
     
  • 2.42, Анонин (?), 08:24, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    тонко
     
  • 2.46, Аноним (46), 08:49, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Уже начали писать питон на расте, но что характерно не закончили. Потому что на расте нельзя закончить большой проект.
     
     
  • 3.55, Аноним (55), 16:49, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что на расте нельзя закончить большой проект

    Это какой-то прикол?)
    А вообще, последний коммит 4 дня назад

     

  • 1.35, КО (?), 06:43, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь играть в "Поищите бэкдоров", которых напихали.
     
  • 1.39, Анонин (?), 08:05, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лицензия - жижа, как и у питона в принципе.
     
  • 1.45, Аноним (46), 08:46, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Короче надо написать единый кодогенератор, который код на питоне переводит в код на Го. И закрыть нафиг этот ваш питон.
     
     
  • 2.48, Аноним (48), 09:18, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно пойти дальше, сразу ассемблерный вывод, и закрыть нафиг этот ваш Go, да и все остальные языки тож.
     
  • 2.49, Я (??), 09:54, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты не поверишь... https://github.com/google/grumpy
     
  • 2.59, Аноним (59), 00:18, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Отличная идея. Просто мечта, перевести код с нечитаемого языка на морально устаревший и лишь чуть более читаемый
     

  • 1.47, lockywolf (ok), 09:16, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://www.draketo.de/proj/py2guile/

    Если что, может кому пригодиться.

     
     
  • 2.61, Аноним (61), 12:35, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    NumPy и Mathplotlib конвертировать в Guile или использовать из Guile можно?
     
     
  • 3.67, lockywolf (ok), 08:01, 08/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > NumPy и Mathplotlib конвертировать в Guile или использовать из Guile можно?

    Вот этого мужика спроси, он занимался:

    http://fmnt.info/projects/

     

  • 1.50, Аноним (50), 11:08, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну, как говорится:"Такого тебе кадра нарисовали. Образованный. Революционерь"
     
  • 1.51, pda (ok), 12:00, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот что Cinder животворящий делает!
     
  • 1.53, Xasd6 (?), 15:56, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    ну а потом окажется что все эти быстрые реализации -- тормозят :-) по сравнению с CPython ..

    ой! ой! в смысле: работают быстро, если "правильно" эту быстроту измерять! а если просто польоваться python-програмками, то тормозят. так же как и java работает быстрее всех, ага

     
  • 1.54, erthink (ok), 16:12, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > удаление отладочных средств приводит к ускорению работы на 2%, при том, что лишь примерно 2% разработчиков используют данные функции.

    Хм, а есть пожертвовать остальными 98% разработчиков то питон станет бесконечно быстрым как неуловимый Джо ;-)

     
     
  • 2.58, Аноним (58), 00:00, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как Быстрый Гонсалез.
     

  • 1.57, Full Master (?), 21:45, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А телевизор погромче оно умеет делать?
     
  • 1.60, nich (ok), 08:34, 07/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уже можно установить через pyenv.  Ура, товарищи!
     
  • 1.65, Аноним (65), 15:10, 07/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    проблема назрела уже давно. Гвидо, принимай патчи!
     
  • 1.66, Аноним (-), 15:47, 07/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > предоставлению только бинарных сборок

    Ух ты, самозакопались удвоенными темпами?!

     
  • 1.69, Аноним (69), 17:39, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    JIT - зло!
     
     
  • 2.70, Брат Анон (ok), 13:05, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не скажи. Как ты оптимизируешь софтину, если не знаешь на чём она фактически будет запущена?

    Единственная оговорка -- AOT-компиляция всё же лучше.

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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