top
logo


Второй выпуск Pyston, реализации языка Python с JIT-компилятором PDF Печать E-mail
12.09.14 12:52

Представлен второй тестовый выпуск проекта Pyston, в рамках которого развивается реализация языка Python, созданная с использованием наработок проекта LLVM, примечательная применением современных технологий JIT-компиляции и нацеленная на достижение высокой производительности, близкой к производительности традиционных системных языков, таких как C++. Код Pyston написан на языке C++ и распространяется под лицензией Apache. Проект развивается компанией Dropbox, в которой работает Гвидо ван Россум, создатель языка Python.

Отмечается, что проект заметно продвинулся по сравнению с первым экспериментальным выпуском. Новый выпуск ознаменовал переход на стадию альфа-тестирования. Код всё ещё не рекомендован для использования в реальных проектах, но уже успешно проходит многие тесты, обеспечивает совместимость со стандартными библиотеками и позволяет выполнять простые программы. Ключевым новшеством выпуска является поддержка экспериментального многопоточного режима работы без глобальной блокировки интерпретатора (GIL, global interpreter lock), позволяющего обеспечить параллельное выполнение нескольких нитей кода на языке Python. Кроме того, значительно улучшена поддержка языка, в том числе обеспечена поддержка API для написания модулей на языке Си. При подготовке следующего выпуска основное внимание планируется уделить наращиванию производительности. Поддержка языка пока ограничивается Python 2.7.

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

  1. Главная ссылка к новости (http://blog.pyston.org/2014/09/11/9/...)
  2. OpenNews: Dropbox опубликовал Pyston, реализацию языка Python, базирующуюся на JIT
  3. OpenNews: Выпуск PyPy 2.3, реализации Python, написанной на языке Python
  4. OpenNews: Первый стабильный выпуск PyPy3 с поддержкой Python 3
  5. OpenNews: Стратегия параллельного поддержания веток Python 2 и Python 3 оказалась ошибочной
  6. OpenNews: Первый выпуск PyPy-STM, интерпретатора Python с поддержкой многоядерных систем
Тип: Программы
Ключевые слова: pyston, python, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.2, Аноним, 16:38, 12/09/2014 [ответить] [смотреть все]     [к модератору] +2 +/
вот оно, будущее ветки 2 7 ... весь текст скрыт [показать]
 
  2.65, Аноним, 06:47, 15/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/
А что делать, раз 3 x никому не нужен Лично я, поглядев на всю эту катавасию, п... весь текст скрыт [показать] [показать ветку]
 
  2.10, Пингвино, 17:42, 12/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +1 +/
Да действительно, надо выкинуть весь работающий легаси-код и начать срочно переп... весь текст скрыт [показать] [показать ветку]
 
  3.14, Анонизм, 18:32, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +4 +/
Давно пора Годы идут, у людей уже дети выросли, а прогрессивное человечество ни... весь текст скрыт [показать]
 
  4.15, Пингвино, 18:35, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Лучше бы на функциональные языки программирования переходили бы ... весь текст скрыт [показать]
 
  5.25, Пиони, 22:29, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  –2 +/
 
  6.29, Аноним, 22:55, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
чем не функциональные ... весь текст скрыт [показать]
 
  7.32, grammar_nazi, 23:19, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
нефункциональные ... весь текст скрыт [показать]
 
  8.39, I am, 01:37, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Простите, господин нацист, а какой же синоним без не есть для слова нефункцио... весь текст скрыт [показать]
 
  9.40, Аноним, 02:28, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Бесполезные же ... весь текст скрыт [показать]
 
9.44, Алексей, 09:10, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/ 
  10.54, Аноним, 14:26, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
Нет, императивный 8212 противоположность декларативного А противоположность ... весь текст скрыт [показать]
 
9.53, grammar_nazi, 14:09, 13/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +3 +/ В правиле слитного написания "не" нет рассуждений о наличии/отсутствии синонимов без "не".
 5.60, Ононимус, 12:40, 14/09/2014 [^] [ответить] [смотреть все]    [к модератору]  –1 +/ Напишите что нибудь дельное на Haskell хотя бы и выложите сообществу. Люди ждут.
А то годы идут а только пшик. Пока что выходит выгода от гибридных языков. Как и в природе - борьба и сосуществование форм.
Питон развивается и занял свою нишу.
 
  6.61, Пингвино, 14:00, 14/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
> Напишите что нибудь дельное на Haskell хотя бы и выложите сообществу. Люди
> ждут.
> А то годы идут а только пшик. Пока что выходит выгода от
> гибридных языков. Как и в природе - борьба и сосуществование форм.
> Питон развивается и занял свою нишу.

На Scala и Clojure написано достаточно дельных вещей, многие из которых работают в продакшене.

 
  7.67, Аноним, 10:04, 15/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
На Бэйсике и Коболе тоже много чего написано и оно всё ещё работает в продакшене... весь текст скрыт [показать]
 
7.68, Ынаним, 10:31, 15/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/ Это как раз гибридные языки - Scala продвинутая Ява с функциональщиной. Поэтому вам и предложили попробовать Haskell.
 4.41, бедный буратино, 04:25, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  –2 +/
потому что нормальное противоположность прогрессивному человечество не может о... весь текст скрыт [показать]
 
  5.58, ктото там, 22:22, 13/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
На этот вопрос могу ответить я. Логичный подход к кодировкам - уже достаточная для перехода причина.
 
4.42, Led, 05:04, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  –2 +/
Да где ж вы выросли ... весь текст скрыт [показать]
 
  5.45, Аноним, 10:04, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
Да уж, глядя на тебя и не скажешь ... весь текст скрыт [показать]
 
3.38, Аноним, 00:39, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Нет, вы что Питоний код нужно только выкинуть, переписывать ничего не нужно ... весь текст скрыт [показать]
 
  4.46, Аноним, 10:10, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +3 +/
Есть две неадекватные вещи, намеренно разжигаемые на OpenNETe - ненависть к Pyt... весь текст скрыт [показать]
 
  5.56, plain5ence, 15:59, 13/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +1 +/
В былые времена разжигали ненависть к пхп и виндовс... Конкуренция усилилась.
 
  6.62, Rooter, 15:10, 14/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +2 +/
питон и пыхпы - оттенки одного го%%%а
 
2.48, Deepwalker, 11:19, 13/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  –2 +/
Ну если рассмотреть внимательно, то труп это python 3 x Выкидыш, который лучше ... весь текст скрыт [показать] [показать ветку]
 2.57, Я, 18:38, 13/09/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  –1 +/ Это мой ник!
  1.5, Аноним рус, 16:49, 12/09/2014 [ответить] [смотреть все]    [к модератору]  +7 +/ хм, пока Гвидо в дропбоксе они пилят вариант Python2.7, как он приходит домой он строчит в твиттер что Python3 это будущее - двуликий Янус.
 
  2.11, Аноним рус, 17:48, 12/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +2 +/
Ан нет, посмотрел коммиты, Гвидо не причем, зато прилагали руки к этому пистону ... весь текст скрыт [показать] [показать ветку]
 
1.6, playnet, 16:59, 12/09/2014 [ответить] [смотреть все]    [к модератору]  –1 +/ Неужели кто-то ещё понимает убогость 3 ветки...
А вообще, это похожие но разные языки. И 2 ветка ещё долго не умрёт. Ну и 2 проще будет, пилить меньше надо.
 
  2.12, COBA, 17:49, 12/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/
Убогость как раз осталась во 2 ветке С появлением 3 стало значительно проще отд... весь текст скрыт [показать] [показать ветку]
 
  3.13, Нанобот, 17:53, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  –2 +/
есть мнение, что их не так много и ими можно пожертвовать... весь текст скрыт [показать]
 
  4.19, myhand, 20:53, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +2 +/
Ах, если бы дело заканчивалось на кодировках ... весь текст скрыт [показать]
 
3.16, Анонизм, 18:35, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
Разные кодировки не нужны, есть только одна кодировка - UTF-8 А вот то, как оно... весь текст скрыт [показать]
 
  4.17, Анонизм, 18:37, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Хотя нет, есть один кейс, где нужна поддержка разных кодировок - импорт старых д... весь текст скрыт [показать]
 
4.64, Anonym2, 06:18, 15/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/ >> Убогость как раз осталась во 2 ветке.
>> С появлением 3 стало значительно проще отделить кодировку исходных данных от кода,
>> работающего с этими данными. Для тех, кто работает с данными в
>> разных кодировках все стало намного проще!!!
> Разные кодировки не нужны, есть только одна кодировка - UTF-8. А вот
> то, как оно работает с UTF-8 - и есть самый главный
> вопрос, если есть с этим косяки - то в печь.

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

 3.26, bav, 22:29, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Доооо Скажи это Армину Третьегвидон пытается сказать, что вокруг мир только из... весь текст скрыт [показать]
 
  4.34, COBA, 23:24, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Что-то вы похоже все перепутали Костыли как раз в 2 В 3 сразу получаем все в б... весь текст скрыт [показать]
 
  5.36, bav, 00:00, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Отнюдь, http lucumr pocoo org 2014 5 12 everything-about-unicode Правильно, п... весь текст скрыт [показать]
image
 
3.49, Deepwalker, 11:21, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
А расскажите развернуто, чем стало лучше Анальным принуждением к некоему внутре... весь текст скрыт [показать]
 
  4.59, ктото там, 22:42, 13/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
> А расскажите развернуто, чем стало лучше?

Давайте представим, что у вас есть текст, закодированный с помощью deflate. Вы же не станете пытаться работать с ним, как с текстом? Вот и питон теперь не пытается работать с закодированными текстовыми строками, как с текстовыми строками. Если вы знаете (на основании протокола, формата файла), что у вас в буфере deflate(данные) - вы делаете inflate явно. Знаете, что там cp1251(текст) - делаете decode('cp1251'). Нет никаких причин считать, скажем, utf-8 чем-то отличающимся от другого метода кодирования данных.

> Хочешь просто прогнать по сети байтики? Не судьба.

Как это не судьба, если ничего другого принять/послать по сети и нельзя в 3 питоне?

 
1.7, Аноним, 17:01, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +1 +/
Вообще новость преподносится не совсем верно Это не проект по реализации Python... весь текст скрыт [показать]
  1.8, Аноним, 17:02, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +/
прикольный парень этот ваш гвидо, не бросает 2 7... весь текст скрыт [показать]
  1.9, Аноним, 17:03, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +1 +/
После того, как в этом пистоне всё устаканится, накидать поддержку Py3 будет дов... весь текст скрыт [показать]
 
  2.28, bav, 22:32, 12/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +3 +/
image
 
  3.43, Led, 05:07, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Да они постоянно так делают накидаются, а потом лезут на опеннет и кодить на пи... весь текст скрыт [показать]
 
1.18, savant, 20:12, 12/09/2014 [ответить] [смотреть все]    [к модератору]  +/ > Pyston постоянно варьирует выполнение между двумя ветками - быстрой, когда данные о предсказанных типах подтверждаются, и медленной, используемой в случае рассогласования данных о типе.

Какой трэш только не творят люди лишь бы писать без указания типов

image  
  2.27, bav, 22:31, 12/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +2 +/
image
 
  3.31, savant, 23:11, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  –1 +/
Обычно это значит что так проектируют только мудаки ... весь текст скрыт [показать]
image
 
  4.33, bav, 23:20, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +2 +/
Обычно это значит, что система типов тупо не справляется Не хватает гибкости вы... весь текст скрыт [показать]
image
 
  5.35, savant, 23:54, 12/09/2014 [^] [ответить] [смотреть все]     [к модератору]  –1 +/
Когда не справляется система типов - это редкие специфичные случаи, а в большинс... весь текст скрыт [показать]
image
 
  6.37, bav, 00:04, 13/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +2 +/
Tell me moar Чистый типизированный код возможен только на хеллоуворлдах Ну и ... весь текст скрыт [показать]
image
 
  7.66, Anonym2, 07:42, 15/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
>> Когда не справляется система типов - это редкие специфичные случаи, а в
>> большинстве своём это именно ошибки проектирования.
> Tell me moar)) Чистый типизированный код возможен только на хеллоуворлдах. Ну и
> сырцы на go приятно выглядят.

Доказательство? Не опирающееся на глубокую ошибочность проектирования проектировщиками хеллоуворлдов? >:-)

 
1.20, Аноним, 21:20, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +/
PyPy оказался ненужным полигоном для тестов... весь текст скрыт [показать]
  1.21, Аноним, 21:31, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +/
Как ни транслируй питон, все равно он гвидобейском останется ... весь текст скрыт [показать]
  1.23, Аноним, 21:52, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +/
ну и чего, list comprehension у него будет медленнее PyPy чтоль ... весь текст скрыт [показать]
  1.24, Аноним, 22:19, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +1 +/  1.30, Аноним, 22:59, 12/09/2014 [ответить] [смотреть все]     [к модератору]  +1 +/
я так понимаю, что в велобаджо все еще переходят на 3 пайтон ... весь текст скрыт [показать]
  1.50, Аноним, 11:41, 13/09/2014 [ответить] [смотреть все]     [к модератору]  –1 +/
Ура товарищи Вот и Go-капец не за горами ... весь текст скрыт [показать]
image   1.51, Аноним, 11:50, 13/09/2014 [ответить] [смотреть все]     [к модератору]  +1 +/
Это пять Похоже, третий питон так и останется мёртворожденным ... весь текст скрыт [показать]
  1.52, Брат Анонпитонер, 13:29, 13/09/2014 [ответить] [смотреть все]    [к модератору]  –1 +/ Оуееее!!! ))))
Теперь я всем пистона вставлю! )))
  1.55, Аноним, 15:54, 13/09/2014 [ответить] [смотреть все]     [к модератору]  +/
Мне вот интересно, как они это сделали Неужто придумали какой-то внятный memory... весь текст скрыт [показать]
  1.63, Аноним, 22:39, 14/09/2014 [ответить] [смотреть все]     [к модератору]  –2 +/
Чего только не придумают, чтобы не объявлять явно типы в коде ... весь текст скрыт [показать]
 
Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=40571

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика