LINUX.ORG.RU

Вышел PyPy 0.99.0


0

0

Из серии "лучше поздно, чем никогда": 17 февраля вышла новая версия PyPy, реализации "Питона на Питоне" и фреймворка для реализации динамических языков и витуальных машин для них. За 8 месяцев, прошедших с предыдущего релиза, улучшено быстродействие (сейчас - "всего" в 2-3 раза медленнее CPython) и добавлено множество возможностей, в том числе трансляция интерпретатора в JavaScript и код для .NET

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

это теперь можно питоновский код запускать в интерпретаторе, который написан на питоне, и в свою очередь запущен в интерпретаторе питона? :)) какая жесткая рекурсия...

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

Почему-то вспоминается лог про запуск дебиана в вирт машине в винде ..которая тоже в виртуалке запущена и проблемы со звуком Зачем это надо?

pento ★★★★★
()

> сейчас - "всего" в 2-3 раза медленнее CPython

PyPy-ськами померяцца - эт освятое!

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

> Хоть кто-нибудь по ссылке сходил?

Ну я сходил. Понял, что очень круто, но не понял, зачем. ПМСМ, писать средства написания новых языков на прикладном языке - изврат. Впрочем, ни на что не претендую :)

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

> Понял, что очень круто, но не понял, зачем.

Это средство автоматической генерации интерпретаторов Питона :) И база для JIT-компиляторов _полного_ Питона (а не подмножества, как Psyco). Это только то, что я понимаю своим скромным умом, а там вообще куча интересных технологий. RPython и их фреймворк для трансляции хотя бы...

> ПМСМ, писать средства написания новых языков на прикладном языке - изврат.

Этой фразы не понял. Что, лучше их писать на языках вроде Си?

tailgunner ★★★★★
() автор топика

интересная новость. =)

надо будет поиграться =)

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

> Этой фразы не понял. Что, лучше их писать на языках вроде Си?

Ну не совсем. Есть же генераторы грамматик типа yacc/bison. Код-то, конечно, они на С переводят, но все же это "не ручками".

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

k0w@c1 ~/pl $ cat eval.pl
#!/usr/bin/perl

# k0wax's perlperl interpretator v0.01

eval(`cat $ARGV[0]`);
print "not reached\n";

k0w@c1 ~/pl $ ./eval.pl eval.pl

^C

гыгы

k0wax
()

))) пазитифная нофасть)))

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

> Это только то, что я понимаю своим скромным умом

Если технологию, спецификацию и проч. мало кто может понять, то ФТОПКУ эту технологию и проч.

Товарищи! Если это вам не надо, то оно вам в самом деле не надо.

Король-то голый!

ip1981 ☆☆
()

ну так напишем с на жаве!

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

> Если технологию, спецификацию и проч. мало кто может понять, то ФТОПКУ эту технологию и проч.

Аха, и много ли индусов понимают технологию JIT-компиляции с обратной связью? :)

> Товарищи! Если это вам не надо, то оно вам в самом деле не надо.

...или вы не знаете, что это вам на самом деле надо :)

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

>> Что, лучше их писать на языках вроде Си?

> На скриптовых ИМХО ни сколько не лучше.

Если в результате получается оптимизированный код заданной целевой платформы, то почему нет? (особенно, если учесть что "целевая платворма" - это, скажем, JavaScript)

<шутка>А что такое скриптовый язык?</шутка>

tailgunner ★★★★★
() автор топика

Кавычки вокруг слова <<всего>> --- лишние, учитывая то, что в начальных реализациях отставание от CPython было где-то на 2 порядка.

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

> Кавычки вокруг слова <<всего>> --- лишние, учитывая то, что в начальных реализациях отставание от CPython было где-то на 2 порядка.

Я знаю :) Но новость писалась для тех, кто не знаком с историей проекта.

tailgunner ★★★★★
() автор топика

Ух ты.. ;-) Любопытная игрушка..

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

>Ага, специально для написания программ распечатывающих свой исходный текст.

А что, язык HQ9++ вышел из моды?

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

> Всё как-бы хорошо, но вот название смущает. Пи-пи какое-то...

вообще-то ("РуРу" == "RuRu") == True

anonymous
()

У вас что, у многих, мышление одномерное? Пугает интерпретатор в интерпретаторе? PyPy - это очень интересный концепт, реализующий интереснейшие вещи на практике. Сильный и стандартизированный Питон помогает при реализации. Сейчас занимаются оптимизацией. Кроссплатформ, могут потом перекомпилиться во что угодно.

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

> У вас что, у многих, мышление одномерное?

Нет, но LOR-mode одномерен. И у многих включен по умолчанию.

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

>>> Что, лучше их писать на языках вроде Си?

>> На скриптовых ИМХО ни сколько не лучше.

> Если в результате получается оптимизированный код заданной целевой платформы, то почему нет?

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

> <шутка>А что такое скриптовый язык?</шутка>

<шутка>Язык, звучащий как серия поскрипываний? Наверное нет, ибо шипение тоже является скриптовым языком...</шутка>

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

> У вас что, у многих, мышление одномерное?

Вероятно, это у авторов проекта. Иначе зачем им понадобился этакий интерпретатор в виде листа Мёбиуса?

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

> на скриптовом языке реализовать такие вещи будет практически настолько же сложно насколько и на низкоуровневом

Этого не понял. По моему скромному опыту, на Питоне пиАть гораздо проще, чем на Си.

> оптимизация скриптового кода - это задача предпоследней важности...

Ну, это у кого как. К тому же выше быстродействие - шире область применения.

>> <шутка>А что такое скриптовый язык?</шутка>

><шутка>Язык, звучащий как серия поскрипываний? Наверное нет, ибо шипение тоже является скриптовым языком...</шутка>

Хм... Лисссссп... тоже шипение. Такой вот скриптовый язык Лисп :)

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

> Этого не понял. По моему скромному опыту, на Питоне пиАть гораздо проще, чем на Си.

смотря что.

> Ну, это у кого как. К тому же выше быстродействие - шире область применения.

не совсем. Тот же баш или жаба скрипт сколько не ускоряй, область их применения весьма расширится.

>>> <шутка>А что такое скриптовый язык?</шутка>

>> <шутка>Язык, звучащий как серия поскрипываний? Наверное нет, ибо шипение тоже является скриптовым языком...</шутка>

> Хм... Лисссссп... тоже шипение. Такой вот скриптовый язык Лисп :)

http://www.bash.org/?400459

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

s/область их применения весьма расширится./область их применения весьма расширится?

bugmaker ★★★★☆
()

Насколько я понимаю, это что-то вроде hs-plugins?

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

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

Нет. Если очень упрощённо, PyPy - это self-hosted компилятор Питона в машинный код. :) Правда, он понимает только некоторое подмножество конструкций Питона (т. н. RPython). На этом подмножестве написан также интерпретатор Питона. Который, будучи оттранслирован в машинный код этим компилятором, работает всего в 2-3 раза медленнее, чем обычный Питон (aka CPython). В версии 1.0, которая запланирована на ближайшие месяцы, наконец-то добавится JIT, и есть основания считать, что с его помощью PyPy догонит и даже перегонит CPython.

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

> PyPy - это self-hosted компилятор Питона в машинный код. :)

Для разных машин :)

> Правда, он понимает только некоторое подмножество конструкций Питона

o_O разве? По-моему, он понимает как раз _полный_ Питон. Он _написан_ на RPython, да.

> В версии 1.0, которая запланирована на ближайшие месяцы, наконец-то добавится JIT, и есть основания считать, что с его помощью PyPy догонит и даже перегонит CPython.

Это славное событие запланировано уже на этот месяц :)

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

> Я стесняюсь спросить, а что такое jit?

Это типа подкол? :) JIT - это Just-In-Time компилятор, переводит Питоновские программы в "родной" машинный код.

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

Ну вот hs-plugins это и делает. Компилирует в машинный код хаскель, т.к. в него встроены части ghc. И применений для него -- в основном "динамическая линковка". А зачем это в питоне, я не очень понимаю. Лучше бы на хаскеле питон написали. Уж наверное быстрее бы вышло :-)

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

> А зачем это в питоне, я не очень понимаю.

То, что машинный код вполняется быстрее байт-кода, ты не понимаешь? А то, что трансляция может производится не только в машинный код, но и в JavaScript или код .NET, ты не знашь?

> Лучше бы на хаскеле питон написали.

Для кого лучше?

> Уж наверное быстрее бы вышло :-)

Сделай и проверь

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

> o_O разве? По-моему, он понимает как раз _полный_ Питон. Он _написан_ на RPython, да.

Транслятор понимает только RPython. За этим RPython и придумали, чтоб его можно было транслировать. :) А полный Питон работает только в интерпретаторе. Или не так?

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

> Это типа подкол? :) JIT - это Just-In-Time компилятор, переводит Питоновские программы в "родной" машинный код.

Нет, я в правду не знал, спасибо :)

annoynimous ★★★★★
()
Ответ на: комментарий от ero-sennin

>Нет. Если очень упрощённо, PyPy - это self-hosted компилятор Питона в машинный код. :) Правда, он понимает только некоторое подмножество конструкций Питона (т. н. RPython). На этом подмножестве написан также интерпретатор Питона. Который, будучи оттранслирован в машинный код этим компилятором, работает всего в 2-3 раза медленнее, чем обычный Питон (aka CPython). В версии 1.0, которая запланирована на ближайшие месяцы, наконец-то добавится JIT, и есть основания считать, что с его помощью PyPy догонит и даже перегонит CPython.

Брр... Запутался. Так курица или яйцо? этот "self-hosted компилятор Питона в машинный код." на С написан или на СPython? :)

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

> Запутался. Так курица или яйцо?

Не ты один :)

> этот "self-hosted компилятор Питона в машинный код." на С написан или на СPython? :)

На RPython :D

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