URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 95240
[ Назад ]

Исходное сообщение
"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."

Отправлено opennews , 04-Апр-14 17:53 
Компания Dropbox, в которой уже более года работает Гвидо ван Россум,
анонсировала (https://tech.dropbox.com/2014/04/introducing-pyston-an-upcom.../) первый выпуск проекта Pyston, в рамках которого подготовлена собственная реализация языка Python 2.7, созданная с использованием наработок проекта LLVM, примечательная применением современных технологий JIT-компиляции и нацеленная на достижение высокой производительности. Код  Pyston написан на языке C++ и распространяется (https://github.com/dropbox/pyston) под лицензией Apache.


Проект находится на стадии экспериментальной разработки. Несмотря на то, что он уже вполне работоспособен, для конечных пользователей он пока не подходит, так как поддержка возможностей языка Python сильно ограничена. Из платформ пока поддерживается только x86_64. Производительность Pyston пока отстаёт от проекта PyPy, использующей JIT реализации Python, написанной на языке Python, но уже опережает интерпретатор CPython.

Принцип работы  Pyston сводится к разбору кода на языке Python и его трансляции в  промежуточное представление LLVM (IR, Intermediate Representation). Далее IR-представление проходит обработку в оптимизаторе  LLVM и передаётся для исполнения в JIT-движок LLVM, которые преобразует IR-представление в машинный код. Дополнительные фазы оптимизации LLVM пока не используются, их включение в дальнейшем позволит заметно увеличить производительность.


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


URL: https://tech.dropbox.com/2014/04/introducing-pyston-an-upcom.../
Новость: http://www.opennet.dev/opennews/art.shtml?num=39494


Содержание

Сообщения в этом обсуждении
"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Fracta1L , 04-Апр-14 17:53 
Теперь для Питона придётся новый жаргонизм придумывать. Мерзавцы.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено бедный буратино , 04-Апр-14 17:53 
гвидопистон. звучит обидно.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Fracta1L , 04-Апр-14 18:14 
Тогда уж просто "Гвидон".

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено бедный буратино , 04-Апр-14 18:15 
ну, это только для не знакомых с Сергеичем может быть обидно :)

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 18:35 
Тогда "Глистон"

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 23:10 
сам ты глист.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 01:39 
> Тогда уж просто "Гвидон".

Бидон. Прозрачно намекает на квалификацию тех кто и пользуется.


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 06-Апр-14 08:00 
>> Тогда уж просто "Гвидон".
> Бидон. Прозрачно намекает на квалификацию тех кто и пользуется.

А что не так с квалификацией?


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено бро , 04-Апр-14 17:56 
Например Pysdon?

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено krasnodar2000 , 04-Апр-14 18:04 
Gvidon

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Пышпер , 05-Апр-14 00:45 
Баян. У Пушкина было уже

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено arzeth , 04-Апр-14 18:07 
Или Пистюль.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 18:25 
Pysdun

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 18:26 
если приеять во внимание утверждение "близкой к производительности традиционных системных языков, таких как C++"

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Vernat , 06-Апр-14 05:25 
Верно подмечено!

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено rd , 04-Апр-14 18:30 
А что? По-моему, быть пистонистом не так уж и плохо.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Alexander Komarov , 04-Апр-14 19:10 
Ну питушон же :)

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено rshadow , 04-Апр-14 23:40 
Каждому питону по пистону!

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено AlexAT , 05-Апр-14 16:15 
Про оптимизацию серверов на питоне:
- А ты уже вставил питону пистон?

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 17:50 
Почему? Каноничный жаргонизм был и будет ровно один - гвидобейсик.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено хм , 06-Апр-14 18:02 
бидон

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено бедный буратино , 04-Апр-14 17:53 
спасибо всемогущему Гвидо, что s, а не z

"Dropbox представил Pyston, базирующуюся на JIT реализацию яз..."
Отправлено krasnodar2000 , 04-Апр-14 17:53 
1 апреля закончилось вроде

"Dropbox представил Pyston, базирующуюся на JIT реализацию яз..."
Отправлено ананим , 04-Апр-14 18:50 
Piston вообще-то переводится как поршень.
Даже вон детские мультики, тачки например, кубок поршня — пистон кап.
А вы (и мы все) просто жертвы уголовного слэнга.

"Dropbox представил Pyston, базирующуюся на JIT реализацию яз..."
Отправлено Аноним , 05-Апр-14 16:10 
> А вы (и мы все) просто жертвы уголовного слэнга.

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


"Dropbox представил Pyston, базирующуюся на JIT реализацию яз..."
Отправлено axe , 05-Апр-14 21:01 
в последний раз я их видел во времена плюрализма и гласности. Они что, до сих пор существуют? )

"Dropbox представил Pyston, базирующуюся на JIT реализацию яз..."
Отправлено ананим , 06-Апр-14 12:07 
>> А вы (и мы все) просто жертвы уголовного слэнга.
> Пардон? Пистоны - это такие холостые патроны, для детских игрушечных руже

Угу. А потом детки выросли и стали писать комментарии на опеннете.

Зыж
Просмотрите тон большинства комментариев и решите сами, какой пистон вам вставили.


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено meequz , 04-Апр-14 18:06 
Что мешало впилить вероятностное предсказание в PyPy?

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 18:38 
Они не на это вроде как ссылаются судя по статье, а на то что подходы JIT разные.
По мне так отговорки всё это. У PyPy гораздо больше направлений по улучшению(не только JIT).

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено ук , 04-Апр-14 18:06 
и что характерно, 2.7

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 18:28 
Да, непонятна позиция отца Питона.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 18:39 
Так мб внутри всё переписали для Py3, а исходники зажали. Ну а ненужный Py2 выкинули в опенсорс.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Герг , 04-Апр-14 20:32 
Я когда начинал учить Python, наивно полагал что Py3 через пару лет станет стандартом, а Py2 уйдёт в прошлое. Прошло уже 5 лет, и я понимаю каким идиотом я тогда был. : -(

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено rob pike , 04-Апр-14 22:09 
По сравнению с Perl6 это всё таакие цветочки..

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено rshadow , 04-Апр-14 23:42 
> По сравнению с Perl6

Perl6 в вечной разработке и им никто не пользуется =)


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 00:28 
Вроде где-то писали что его переименовали. Или я что-то путаю?

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено rshadow , 05-Апр-14 01:06 
Да всем пофиг что там с ним. 5-й продолжает развиваться и им все пользуются.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Lain_13 , 05-Апр-14 00:09 
Да всё нормально, просто на третий не имеет существенного смысла переходить если есть огромная кодовая база под 2.7 и её затратно обновлять. Сейчас все хоть сколько-то важные фреймворки есть и под тройку. Вот с Перлом там всегда проблемы были, а про 6й даже вот такое нарисовали: http://perl-begin.org/humour/perl6_perl_6_cover_lg.jpg

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено rob pike , 05-Апр-14 11:01 
>Вот с Перлом там всегда проблемы были

Да что вы говорите. Какой же из 5.xx перлов ломал обратную совместимость, напомните пожалуйста.


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Lain_13_too_lazy_to_login , 05-Апр-14 20:55 
Я не про обратную совместимость, а про чудовищный зоопарк по-разному несовместимых библиотек на то, что должно идти из коробки. Причём часть из них сделана на коленке пьяной мартышкой. За каждой мелочью приходится лезть в cpan. Извините, ниасилил. Я лучше и дальше Питоном буду пользоваться.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено rob pike , 07-Апр-14 12:34 
>чудовищный зоопарк по-разному несовместимых библиотек

Это намного лучше чем их отсутствие.

>то, что должно идти из коробки

Ничего не должно идти из коробки. И Perl постепенно к этому движется.

>За каждой мелочью приходится лезть в cpan

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



"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 08-Апр-14 15:49 
А кто писал и на чём (или под чем) бесконечный кеш регулярок пожирающий всю память в _искаробочном glob_ питона http://bugs.python.org/issue7846 ? Не буду их оскорблять, авторы питона когда-нибудь закончат институт и возможно научатся писать программы.

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 06-Апр-14 03:00 
XS API ломали сто раз

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 07-Апр-14 02:29 
> и что характерно, 2.7

У разрабов стоит мак, там по умолчанию питон 2.7


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 04-Апр-14 23:50 
>> Так как невозможно точно определить типы переменных в динамическом языке

это фича а не проблема. защита от дурака


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено SergMarkov , 05-Апр-14 00:49 
осталось всего еще две реализации, чтобы гвидобейсик получил вполне заслуженное название sos-ton
:-)

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 01:46 
> Код Pyston написан на языке C++

Еще пара дюжин версий и до ALL дойдет что проще писать на плюсах, чем постоянно переписывать код на бидоне под очередной заскок гвидо или очередного ускоренного недомерка.


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено NYM , 06-Апр-14 23:29 
Вот знаешь Аноним, а я вот именно после сдвигов реализаций/синтаксиса Питона, обычного, и опасаюсь менять версию своей большой программы.: программа на Питоне 2.6 версии еще -- но поменять на новый - и снова снова поломается, снова писать новые тесты.. а так - работает, прекрасно, и каши не просит!

Писал бы на C++ или особенно - Jav'e - такого бы не было. Но на питоне просто тыщу раз проще быстрее и производительнее *писать*.

Вот лишь бы совместимость не ломали.

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


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 03:44 
Кто сказал "Пистон"?
http://pit.dirty.ru/lepro/2/2011/02/05/28678-210120-f7338157...

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 04:01 
JS все равно всех победит)

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 07:29 
> JS все равно всех победит)

Вы еще не до конца познали темную сторону силы. Dartвейдер


"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Отправлено Аноним , 05-Апр-14 10:12 
> Pyston

А-тя-тя!


"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Аноним , 05-Апр-14 10:23 
PyPy  компилирует себя за 3 часа и сжирает от 3гб до 5гб ОЗУ

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Аноним , 05-Апр-14 16:12 
> PyPy  компилирует себя за 3 часа и сжирает от 3гб до 5гб ОЗУ

"Питон не тормозит!!!1111"


"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Аноним , 06-Апр-14 21:10 
Просто кость широкая

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Аноним , 13-Апр-14 17:50 
Только что при обновлении Raspbian'а пересобрался за 4 минуты, сожрав меньше 20Мб оперативы в процессе.

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Аноним , 05-Апр-14 15:41 
ПиПи или Пистон, Пистон или ПиПи... дожили

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено AlexAT , 05-Апр-14 16:17 
> ПиПи или Пистон, Пистон или ПиПи... дожили

Еще можно выпустить версию для кровавого энтерпрайза - ПроПистон.


"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Дядя , 05-Апр-14 22:34 
надо сказать что он уже давно там применяется ))))

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Аноним , 06-Апр-14 12:14 
Вставить Pyston в PyPy :)

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено lucentcode , 05-Апр-14 20:16 
Название, конечно, эпическое:) А вот реализация весьма красивая, Впечатляет, что они смогли сделать то, что так и не получилось реализовать у ребят из Google - реализовать механизм вероятного предсказания типов данных. Надеюсь, проект будет развиваться семимильными шагами.

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Злой напильник , 06-Апр-14 12:35 
Никак не пойму, а что мешает сделать Python 4 в котором будет статическая типизация? Помрет кто-то? И эпичность языка закончиться наконец-то... А да и компиляцию наконец-то прилепить, а то постоянно на этапе выполнения выясняеться опечатки и т.п. Обидно...

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено AlexAT , 06-Апр-14 12:53 
ИМХО, Гвидо прекрасно понимает, что динамическая типизация - по сути единственный способ избежать сравнения с существующими языками со статической типизацией и компиляцией, лежащими в данном случае за порогом достижимого для питона даже в части синтаксиса. Да и JIT-компилятор языкам со статической типизацией, честно говоря, нужен, как собаке пятая нога.

"Dropbox опубликовал Pyston, базирующуюся на JIT-реализацию я..."
Отправлено Добрый Дохтур , 07-Апр-14 02:34 
> Да и JIT-компилятор языкам со статической типизацией, честно говоря, нужен,
> как собаке пятая нога.

ой ли? та же java.


"Dropbox опубликовал Pyston, реализацию языка Python, базирую..."
Отправлено pavelpat , 09-Апр-14 17:38 
Можно выпускать журнал "Про Pyston"

"Dropbox опубликовал Pyston, реализацию языка Python, базирую..."
Отправлено Аноним , 29-Фев-20 08:21 
Pystuyk

"Dropbox опубликовал Pyston, реализацию языка Python, базирую..."
Отправлено Аноним , 29-Окт-20 09:16 
То есть со всеми наворотами этот Пистон, максимум в полтора раза быстрее эталонного Питона? Который на 2 порядка медленнее Си? А смысл?