The OpenNET Project / Index page

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



"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Dropbox опубликовал Pyston, базирующуюся на JIT реализацию я..."  +/
Сообщение от opennews (ok), 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.me/opennews/art.shtml?num=39494

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Fracta1L (ok), 04-Апр-14, 17:53   +20 +/
Теперь для Питона придётся новый жаргонизм придумывать. Мерзавцы.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #5, #17, #25, #32, #56, #68

2. Сообщение от бедный буратино (ok), 04-Апр-14, 17:53   +1 +/
спасибо всемогущему Гвидо, что s, а не z
Ответить | Правка | Наверх | Cообщить модератору

3. Сообщение от krasnodar2000email (?), 04-Апр-14, 17:53   +/
1 апреля закончилось вроде
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22

4. Сообщение от бедный буратино (ok), 04-Апр-14, 17:53   –1 +/
гвидопистон. звучит обидно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #12

5. Сообщение от бро (?), 04-Апр-14, 17:56   +2 +/
Например Pysdon?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #8, #11, #14

8. Сообщение от krasnodar2000email (?), 04-Апр-14, 18:04   +1 +/
Gvidon
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #37

9. Сообщение от meequz (ok), 04-Апр-14, 18:06   –1 +/
Что мешало впилить вероятностное предсказание в PyPy?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20

10. Сообщение от ук (?), 04-Апр-14, 18:06   +4 +/
и что характерно, 2.7
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #21, #27, #71

11. Сообщение от arzeth (ok), 04-Апр-14, 18:07   +/
Или Пистюль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

12. Сообщение от Fracta1L (ok), 04-Апр-14, 18:14   +8 +/
Тогда уж просто "Гвидон".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #13, #40

13. Сообщение от бедный буратино (ok), 04-Апр-14, 18:15   +/
ну, это только для не знакомых с Сергеичем может быть обидно :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #19

14. Сообщение от Аноним (-), 04-Апр-14, 18:25   +3 +/
Pysdun
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #15

15. Сообщение от Аноним (-), 04-Апр-14, 18:26   +5 +/
если приеять во внимание утверждение "близкой к производительности традиционных системных языков, таких как C++"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #62

16. Сообщение от Аноним (-), 04-Апр-14, 18:28   +1 +/
Да, непонятна позиция отца Питона.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

17. Сообщение от rd (?), 04-Апр-14, 18:30   +/
А что? По-моему, быть пистонистом не так уж и плохо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

19. Сообщение от Аноним (-), 04-Апр-14, 18:35   +2 +/
Тогда "Глистон"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #31

20. Сообщение от Аноним (-), 04-Апр-14, 18:38   +1 +/
Они не на это вроде как ссылаются судя по статье, а на то что подходы JIT разные.
По мне так отговорки всё это. У PyPy гораздо больше направлений по улучшению(не только JIT).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

21. Сообщение от Аноним (-), 04-Апр-14, 18:39   +1 +/
Так мб внутри всё переписали для Py3, а исходники зажали. Ну а ненужный Py2 выкинули в опенсорс.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

22. Сообщение от ананим (?), 04-Апр-14, 18:50   +5 +/
Piston вообще-то переводится как поршень.
Даже вон детские мультики, тачки например, кубок поршня — пистон кап.
А вы (и мы все) просто жертвы уголовного слэнга.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #51

25. Сообщение от Alexander Komarov (?), 04-Апр-14, 19:10   +/
Ну питушон же :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

27. Сообщение от Герг (?), 04-Апр-14, 20:32   +4 +/
Я когда начинал учить Python, наивно полагал что Py3 через пару лет станет стандартом, а Py2 уйдёт в прошлое. Прошло уже 5 лет, и я понимаю каким идиотом я тогда был. : -(
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #30, #35

30. Сообщение от rob pike (?), 04-Апр-14, 22:09   +/
По сравнению с Perl6 это всё таакие цветочки..
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #33

31. Сообщение от Аноним (-), 04-Апр-14, 23:10   +/
сам ты глист.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

32. Сообщение от rshadow (ok), 04-Апр-14, 23:40   +/
Каждому питону по пистону!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #54

33. Сообщение от rshadow (ok), 04-Апр-14, 23:42   +/
> По сравнению с Perl6

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #36

34. Сообщение от Аноним (-), 04-Апр-14, 23:50   +/
>> Так как невозможно точно определить типы переменных в динамическом языке

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

Ответить | Правка | Наверх | Cообщить модератору

35. Сообщение от Lain_13 (ok), 05-Апр-14, 00:09   –2 +/
Да всё нормально, просто на третий не имеет существенного смысла переходить если есть огромная кодовая база под 2.7 и её затратно обновлять. Сейчас все хоть сколько-то важные фреймворки есть и под тройку. Вот с Перлом там всегда проблемы были, а про 6й даже вот такое нарисовали: http://perl-begin.org/humour/perl6_perl_6_cover_lg.jpg
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #49

36. Сообщение от Аноним (-), 05-Апр-14, 00:28   –1 +/
Вроде где-то писали что его переименовали. Или я что-то путаю?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #39

37. Сообщение от Пышпер (?), 05-Апр-14, 00:45   +/
Баян. У Пушкина было уже
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

38. Сообщение от SergMarkovemail (ok), 05-Апр-14, 00:49   –1 +/
осталось всего еще две реализации, чтобы гвидобейсик получил вполне заслуженное название sos-ton
:-)
Ответить | Правка | Наверх | Cообщить модератору

39. Сообщение от rshadow (ok), 05-Апр-14, 01:06   +/
Да всем пофиг что там с ним. 5-й продолжает развиваться и им все пользуются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

40. Сообщение от Аноним (-), 05-Апр-14, 01:39   +2 +/
> Тогда уж просто "Гвидон".

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #63

42. Сообщение от Аноним (-), 05-Апр-14, 01:46   +1 +/
> Код Pyston написан на языке C++

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #70

43. Сообщение от Аноним (-), 05-Апр-14, 03:44   +1 +/
Кто сказал "Пистон"?
http://pit.dirty.ru/lepro/2/2011/02/05/28678-210120-f7338157...
Ответить | Правка | Наверх | Cообщить модератору

44. Сообщение от Аноним (-), 05-Апр-14, 04:01   +1 +/
JS все равно всех победит)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #46

46. Сообщение от Аноним (-), 05-Апр-14, 07:29   +3 +/
> JS все равно всех победит)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

47. Сообщение от Аноним (-), 05-Апр-14, 10:12   +/
> Pyston

А-тя-тя!

Ответить | Правка | Наверх | Cообщить модератору

48. Сообщение от Аноним (-), 05-Апр-14, 10:23   +/
PyPy  компилирует себя за 3 часа и сжирает от 3гб до 5гб ОЗУ
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #52, #78

49. Сообщение от rob pike (?), 05-Апр-14, 11:01   +1 +/
>Вот с Перлом там всегда проблемы были

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #58, #61

50. Сообщение от Аноним (-), 05-Апр-14, 15:41   +1 +/
ПиПи или Пистон, Пистон или ПиПи... дожили
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #55, #65

51. Сообщение от Аноним (-), 05-Апр-14, 16:10   +1 +/
> А вы (и мы все) просто жертвы уголовного слэнга.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #59, #64

52. Сообщение от Аноним (-), 05-Апр-14, 16:12   +/
> PyPy  компилирует себя за 3 часа и сжирает от 3гб до 5гб ОЗУ

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #69

54. Сообщение от AlexAT (ok), 05-Апр-14, 16:15   +1 +/
Про оптимизацию серверов на питоне:
- А ты уже вставил питону пистон?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

55. Сообщение от AlexAT (ok), 05-Апр-14, 16:17   +4 +/
> ПиПи или Пистон, Пистон или ПиПи... дожили

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #60

56. Сообщение от Аноним (-), 05-Апр-14, 17:50   +3 +/
Почему? Каноничный жаргонизм был и будет ровно один - гвидобейсик.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

57. Сообщение от lucentcode (ok), 05-Апр-14, 20:16   +/
Название, конечно, эпическое:) А вот реализация весьма красивая, Впечатляет, что они смогли сделать то, что так и не получилось реализовать у ребят из Google - реализовать механизм вероятного предсказания типов данных. Надеюсь, проект будет развиваться семимильными шагами.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #66

58. Сообщение от Lain_13_too_lazy_to_login (?), 05-Апр-14, 20:55   –3 +/
Я не про обратную совместимость, а про чудовищный зоопарк по-разному несовместимых библиотек на то, что должно идти из коробки. Причём часть из них сделана на коленке пьяной мартышкой. За каждой мелочью приходится лезть в cpan. Извините, ниасилил. Я лучше и дальше Питоном буду пользоваться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #75, #76

59. Сообщение от axe (??), 05-Апр-14, 21:01   +/
в последний раз я их видел во времена плюрализма и гласности. Они что, до сих пор существуют? )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

60. Сообщение от Дядя (?), 05-Апр-14, 22:34   +/
надо сказать что он уже давно там применяется ))))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

61. Сообщение от Аноним (-), 06-Апр-14, 03:00   –2 +/
XS API ломали сто раз
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

62. Сообщение от Vernatemail (ok), 06-Апр-14, 05:25   +/
Верно подмечено!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

63. Сообщение от Аноним (-), 06-Апр-14, 08:00   +3 +/
>> Тогда уж просто "Гвидон".
> Бидон. Прозрачно намекает на квалификацию тех кто и пользуется.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

64. Сообщение от ананим (?), 06-Апр-14, 12:07   +/
>> А вы (и мы все) просто жертвы уголовного слэнга.
> Пардон? Пистоны - это такие холостые патроны, для детских игрушечных руже

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

65. Сообщение от Аноним (-), 06-Апр-14, 12:14   +1 +/
Вставить Pyston в PyPy :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

66. Сообщение от Злой напильник (?), 06-Апр-14, 12:35   –1 +/
Никак не пойму, а что мешает сделать Python 4 в котором будет статическая типизация? Помрет кто-то? И эпичность языка закончиться наконец-то... А да и компиляцию наконец-то прилепить, а то постоянно на этапе выполнения выясняеться опечатки и т.п. Обидно...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #67

67. Сообщение от AlexAT (ok), 06-Апр-14, 12:53   +1 +/
ИМХО, Гвидо прекрасно понимает, что динамическая типизация - по сути единственный способ избежать сравнения с существующими языками со статической типизацией и компиляцией, лежащими в данном случае за порогом достижимого для питона даже в части синтаксиса. Да и JIT-компилятор языкам со статической типизацией, честно говоря, нужен, как собаке пятая нога.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #72

68. Сообщение от хм (?), 06-Апр-14, 18:02   +1 +/
бидон
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

69. Сообщение от Аноним (-), 06-Апр-14, 21:10   +/
Просто кость широкая
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

70. Сообщение от NYM (?), 06-Апр-14, 23:29   –1 +/
Вот знаешь Аноним, а я вот именно после сдвигов реализаций/синтаксиса Питона, обычного, и опасаюсь менять версию своей большой программы.: программа на Питоне 2.6 версии еще -- но поменять на новый - и снова снова поломается, снова писать новые тесты.. а так - работает, прекрасно, и каши не просит!

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

71. Сообщение от Аноним (-), 07-Апр-14, 02:29   +/
> и что характерно, 2.7

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

72. Сообщение от Добрый Дохтур (?), 07-Апр-14, 02:34   +1 +/
> Да и JIT-компилятор языкам со статической типизацией, честно говоря, нужен,
> как собаке пятая нога.

ой ли? та же java.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

75. Сообщение от rob pike (?), 07-Апр-14, 12:34   +1 +/
>чудовищный зоопарк по-разному несовместимых библиотек

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

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

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

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

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

76. Сообщение от Аноним (-), 08-Апр-14, 15:49   +1 +/
А кто писал и на чём (или под чем) бесконечный кеш регулярок пожирающий всю память в _искаробочном glob_ питона http://bugs.python.org/issue7846 ? Не буду их оскорблять, авторы питона когда-нибудь закончат институт и возможно научатся писать программы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

77. Сообщение от pavelpatemail (?), 09-Апр-14, 17:38   +/
Можно выпускать журнал "Про Pyston"
Ответить | Правка | Наверх | Cообщить модератору

78. Сообщение от Аноним (-), 13-Апр-14, 17:50   +/
Только что при обновлении Raspbian'а пересобрался за 4 минуты, сожрав меньше 20Мб оперативы в процессе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

79. Сообщение от Анонимemail (79), 29-Фев-20, 08:21   +/
Pystuyk
Ответить | Правка | Наверх | Cообщить модератору

80. Сообщение от Аноним (80), 29-Окт-20, 09:16   +/
То есть со всеми наворотами этот Пистон, максимум в полтора раза быстрее эталонного Питона? Который на 2 порядка медленнее Си? А смысл?
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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