LINUX.ORG.RU

Dropbox анонсировал выпуск открытой реализации Python

 , , ,


1

4

Dropbox, поставщик облачных систем хранения данных, анонсировал Pyston — JIT-компилятор для Python собственной разработки с открытым исходным кодом. Большой упор в разработке Pyston делается на увеличение производительности.

Dropbox признают PyPy, Jython и другие проекты на базе Python, но они надеются на улучшение производительности по сравнению с ними, а также сохранение совместимости с вышестоящими реализациями Python.

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

★★★

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

Pyston

Ну что, кто-нибудь уже вставил установил?

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

Чего только люди не делают чтобы не писать на C. Чего только люди не делают чтобы не писать на asm. Чего только люди не делают чтобы не делать для каждой программы спец проц. Чего только люди не делают чтобы не решать задачи в чертогах разума.

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

Батенька, если внутренние структуры данных CPython не thread-safe, о чем может идти речь? Любой код будет опасен для прямого бездумного распараллеливания. Как известно, GIL передает управление в разные потоки _произвольно_ и непредсказуемо через определенный интервал «тиков». Также известно, что многие методы, меняющие состояние объектов, не атомарны и выполняются за несколько таких «тиков». Что произойдет, если передача управления в другой поток произойдет до того, как текущий поток закончит изменять объект, предугадать невозможно.

Virtuos86 ★★★★★
()

Вспоминая где работает Гвидо, вряд ли всё это делалось без его благословения.

anonymoos ★★★★★
()

Подкиньте англоязычным идею следующий форк питона назвать Pisyun.

Napilnik ★★★★★
()

Блин, я думал они исходники дропбокса открыли :(

CrazyAlex25 ★★★
()

Ждём открытую реализацию Pyzdon.

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

Как известно, GIL передает управление в разные потоки _произвольно_ и непредсказуемо через определенный интервал «тиков»

чего? :-)

GIL вообще не занимается передачей управления.

все нити (threading.Thread) работают параллельно — всегда (независимо от состояния GIL).

если GIL в одной из нитей находится в заблокированном состоянии — то это НЕ значит что вся нить (threading.Thread) заблокирована. а это лишь значит что не может выполнятся в этой ните тот код, который относится к Python-части (но в целом нить остаётся работоспособной и не заблокированной)..

я надеюсь не стоит дополнительно объяснять что — CPython это лишь клей для Сишки? :)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 6)
Ответ на: комментарий от anonymous

Чего только люди не делают чтобы не решать задачи в чертогах разума.

GИМХО, конечно, но мне всегда казалось, что именно с этого и стоит начинать. А присутпать к быдлокодерству при уже решенной задаче. А то начинают потом городить огород из костылей.

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

ОМПГ! Всё смешалось в доме Облонских.

Тихо сам с собою я веду беседу.

tailgunner это понял раньше, а теперь и до меня дошло.

Virtuos86 ★★★★★
()

На опеннете подробно расписано почему именно новая версия с нуля. Тем более сам создатель питона пилит... Что примечательно, версия 2.7

I-Love-Microsoft ★★★★★
()

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

wwwsevolod
()
Ответ на: комментарий от I-Love-Microsoft

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

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

Они говорят, что за счет method-at-a-time JIT вместо tracing JIT как в PyPy, и, кроме того, вместо того, чтобы эмулировать reference counting для консервативного сборщика мусора, они сделают расширения gc-aware.

Мне всё это кажется сомнительным, особенно последнее утверждение, потому, что проблемы с расширениями / счетчиками ссылок можно решать и другими способами (см. Руби). За что купил, однако, за то и продаю.

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

Он к этому Пистону никакого отношения не имеет, инфа 146%. Лучше жуй, чем говорить.

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

Рождённый ползать летать не может.

Рожденный ползать везде пролезет!

Kostafey
()

Питухону решили вставить Пистон..

Dropbox, поставщик облачных систем хранения данных

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

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

Решил я как-то попробовать PyPy, но не дождался, пока он дособерется.

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

не совсем прям уж и другой

Совсем. Это транслятор, а не VM.

типизация там введена для дальнейшен оптимизации и ускорения

Не знаю, что у них в планах, но сейчас там type erasure и никаого ускорения быть не может. Статическая типизация в Hack сделана из-за обычных преимуществ статической типизации.

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

Они говорят, что за счет method-at-a-time JIT вместо tracing JIT как в PyPy

ЕМНИП, даже method-at-a-time подразумевает некоторое количество tracing. И, судя по наличию у них интерпретатора bitcode, они собираются трейсить bitcode. Как по мне, затея выглядит сомнительной.

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

Статическая типизация в Hack сделана из-за обычных преимуществ статической типизации.

Вы переоцениваете статическую типизацию, «только» ради нее Hack не затеивался, просто ее проще оптимизировать по скорости будет, что у них и стоит на повестке дня

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

Вы переоцениваете статическую типизацию

Ничуть.

«только» ради нее Hack не затеивался

Ты работаешь в фейсбуке? У тебя инсайдерская инфа об истинных целях Hack? Потому что официально опубликовано вот это:

https://code.facebook.com/posts/264544830379293/hack-a-new-programming-langua...

«Traditionally, dynamically typed languages allow for rapid development but sacrifice the ability to catch errors early and introspect code quickly, particularly on larger codebases. Conversely, statically typed languages provide more of a safety net, but often at the cost of quick iteration. We believed there had to be a sweet spot.

Thus, Hack was born. We believe that it offers the best of both dynamically typed and statically typed languages, and that it will be valuable to projects of all sizes.

...

HHVM is still a PHP runtime, and we intend to keep it that way»

Ни слова о том, что информация о типах будет использоваться в VM; и наоборот, type erasure упомянуто как минимум в презентации по Hack, с. 39: http://www.slideshare.net/zerutreck/taking-php-seriously-keith-adams

tailgunner ★★★★★
()

А до этого, надо понимать, были только закрытые реализации Питона?

Deleted
()

Так вот чем они Гвидо переманили

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

почитайте тред на hacker news, там отвечали на вопросы два человека которые занимаются Hack, информации в их ответах в разы больше, чем с блога

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

Блин, это ж как Biebian. Ждём дистрибутив Bubuntu, эмулятор терминала Sosnol и окружение рабочего стола Krysa.

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

https://news.ycombinator.com/item?id=7436401

Прочитал тред. Об оптимизации вскользь упомянуто пару раз - мутная фраза:

«We are just beginning to use the static type information that Hack provides to yield performance optimizations, and that's definitely on the cards as something we'd like to push further»

из которой непонятно, какого рода оптимизации - на уровне исходников или на уровне VM, и

«The extra type information can also enable the JIT to emit more efficient code in some cases, and work is ongoing to make that even more efficient. But having these types is independent of being in Hack»

А если учесть вот это:

«In practice, we find that HHVM can JIT PHP code into running about as fast as (sometimes faster than) C/C++ extension code»

более раннее высказывание о type erasure, и наличие type inferencer в самой HHVM, вернемся к выводу о том, что Hack - транслятор, не имеющий никакого отношения к оптимизации VM.

tailgunner ★★★★★
()

А еще стоило бы написать в новости, что причина создания Pyston в том, что Dropbox хочет проверить, на сколько увеличится производительность, если использовать отличный от PyPy подход к JIT-компиляции. Подробностей не скажу, т.к. не особый спец по компиляторам и интерпретаторам.

Можно еще почитать, что пишут в техноблоге Dropbox'а

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

сейчас да т.к. работы и так валом, но будут

umren ★★★★★
()

Все комментаторы про «Dropbox решила исправить у Python фатальный недостаток» видимо забывают, что создатель Python нынче в этом самом дропбоксе и работает.

anonymous
()

не нужно

Ненужно анонсировало ненужно для ненужно. Ненужно надеется, что их ненужно менее ненужно, чем другие ненужно.

anonymous
()

А я-то думал что при масштабах дропбокса, им нужны оптимизированные решения на С/С++, а не фокусы с питоном...

Smacker ★★★★
()

Сколько уже было попыток создать быстрый питон. Помню Гугл пытался, но забросил. Сейчас дропбокс. Выживет она или нет, или опять плюнут?

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

еще одна реализация Python, мда :)

Когда 25 лет назад были десятки реализаций Бейсика или 20 лет назад десятки реализаций Си — это никого не возмущало :) А сейчас избаловались... Подумаешь, к паре десятков вариаций Python ещё один прибавится. Чай, не Ruby и не PHP, где семеро — там ещё один не в счёт :D

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

но ни кто в здравом уме НЕ будет делать на CPython — программу которая упарывается математикой. :)

У меня для тебя плохие новости...
http://en.wikipedia.org/wiki/Numerical_analysis#Software
Или так: https://www.google.ru/search?num=50&newwindow=1&espv=210&es_sm=12...

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

ну эт да.. наверно сгоряча я так сказанул :-) ..

а для математики было бы не плохо если бы GIT не было бы, да..

user_id_68054 ★★★★★
()

У python замечательное сообщество. Оно «более лучше» чем у ruby. Им долго объясняли что рептилии не имеют отношение к языку, но всё бесполезно. Они продолжали и будут продолжать рисовать улыбающихся толстых змей для каждой новости об этом языке.

Им долго пытались объяснить что для Python не нужен JIT. Официально предлагается писать Си модули, что логично и решает все задачи. Не раз сообщалось что никаких планов по добавлению опциональной возможности указывать типы данных нет и не будет(что давно есть у PHP). Но всё без толку.

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

Кто пытался-то?

Никто уже не помнит, у них опустились руки... Хотя документация про то как писать модули на C до сих пор на почётном месте.

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

А ишо на python есть opengl, kde, и gtk.

Важно не путать «на Питоне есть» и «Питон используется для»

KRoN73 ★★★★★
()

Есть ещё проект под названием Pizdon и он безусловно самый быстрый.

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