Вышел (http://permalink.gmane.org/gmane.comp.python.devel/127686) релиз проекта PyPy 1.7 (http://pypy.org/), в рамках которого разрабатывается реализации языка Python, написанная на языке Python (используется статически типизированное подмножество RPython (http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#re...), Restricted Python). Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python на языке Си (CPython). В новом выпуске, помимо исправления ошибок, особое внимание было уделено расширению класса кода на Python, получающего большое ускорение при использовании PyPy. В среднем PyPy 1.7 на 30% быстрее (http://speed.pypy.org) PyPy 1.6 а на некоторых тестах — до 20 раз.
<center><a href="http://speed.pypy.org"><img src="http://www.opennet.me/opennews/pics_base/32357_1321889718.png " style="border-style:...URL: http://permalink.gmane.org/gmane.comp.python.devel/127686
Новость: http://www.opennet.me/opennews/art.shtml?num=32357
Отлично. Успехов проекту.
Никогда не понимал, что мешает сделать JIT-компиляция в CPython и прекратить эти рекурсивные извращения.
> Никогда не понимал, что мешает сделать JIT-компиляция в CPython и прекратить эти
> рекурсивные извращения.Религия. В каком-то роде она есть у половины программистов. Например, то что компилятор си собран сам собой - никого не удивляет :)
>Например, то что компилятор си собран сам собой - никого не удивляет :)Компилятор C умеет генерировать нативный код, работающий без C-компилятора. Если PyPy это умел, тогда бы его написанность на самом себе никого бы не удивляла, как никого не удивляет ghc написанный на Haskell.
>Компилятор C умеет генерировать нативный код, работающий без C-компилятора. Если PyPy это умел, тогда бы его написанность на самом себе никого бы не удивляла, как никого не удивляет ghc написанный на Haskell.Pypy написан на RPython который а)является компилятором б)имеет статическую типизацию. Еще вопросы?
Где можно скачать
>RPython который а)является компиляторомМмм?
Качай pypy он в нём. Вот статья на хабре http://habrahabr.ru/blogs/python/124418/ с примером использования.
Или я слеп, или у вам терминальная стадия ФГМ — нет там ничего такого (RPython-компилятор).
Будете писать признание?
> Или я слеп, или у вам терминальная стадия ФГМ — нет там
> ничего такого (RPython-компилятор).
> Будете писать признание?Может хоть в гугл сходишь? Первая ссылка сверху.
http://code.google.com/p/rpython/downloads/list
Зачем тогда нужен PyPy, если есть RPython?
угу умеет сам себя - а чем вы будете компилировать gcc допустим ? - другим gcc ? - а его ?я не против бутстрапинга - но к чему это приводит ? - то что мы забываем основы и начала так же как и забыли что первей появилось - курица или яйцо (а когдато это было понятно)
>угу умеет сам себя - а чем вы будете компилировать gcc допустим ? - другим gcc ? - а его ?Элементарно Ватсон! Машинные коды рулят.
> как и забыли что первей появилось - курица или яйцо (а когдато это было понятно)
А это и сейчас понятно, Дарвин всё рассказал. "Яйцо" появилось на несколько миллионов лет раньше чем вид под названием "курица", а последний появился совсем "недавно" , что-то около 10 тысяч лет назад.
>>"Яйцо" появилось на несколько миллионов лет раньшеи когда же если точно ?
по крайней мере вы уже забыли када повявился фортран или алгол
>и когда же если точно ?у динозавров они уже были.
>по крайней мере вы уже забыли када повявился фортран или алгол
да рассказывай.
> угу умеет сам себя - а чем вы будете компилировать gcc допустим
> ? - другим gcc ? - а его ?А Вы всё с помощью хекс-редактора пишите?
> А Вы всё с помощью хекс-редактора пишите?откройте себе асм
PyPy — экспериментальный проект. Прототип JIT-компилятора. Эксперименты проще делать на высокоуровневом языке, не отвлекаясь на низкоуровневые детали C. Вот когда PyPy созреет, полностью догонит CPython по фичам и будет показывать стабильное и заметное превосходство, — начнут понемногу переносить некоторые оптимизации.
А смысл? Код сгенерированный Jit-компилятором одинаково быстро будет работать независимо от того на чем сам компилятор написан.
так ведь сделали psyco, и работало, некоторые вещи ускоряло невероятно
но до создания 64битной версии разработчик psyco ударился в pypy
в результате они до сих пор пока psyco не догнали
вроде перегнали же?
> вроде перегнали же?Да, только psyco можно было использовать в промышленных целях совместно с нормальным CPython, а грандиозный PyPy - экспериментальная вещь в себе и неизвестно, сколько такой будет. A мне нужен именно CPython.
Вы ещё поинтересуйтесь, сколько он (PyPy) стартует. Прелестью Питона всегда была масштабируемость не только "вверх", но и "вниз", т.е. я могу равно успешно на нём подручный скрипт написать, вместо Баша, и большую систему. А писать подручные скрипты и использовать PyPy - всё равно, что использовать для этой цели Яву (disclaimer: ни слова о достоинствах/недостатках Явы, я всего лишь имел в виду шустрость старта виртуальной машины и её начальные требования к памяти).
А что разве сегодня хоть что-то все ещё пишут на не-джаваскрипте :-?
> А что разве сегодня хоть что-то все ещё пишут на не-джаваскрипте :-?На питоне. Примерно один хрен по ЦА (скрипткидисы). Только еще более тормознуто.
нет, это не ЦА питона, просто хомячки с ним носятся как ошпареные, так сложилось уж
Ждем от производителей железа транзисторы на микросхемах.
:)
В принципе, ждать уже не надо. В электронике это уже прошли, когда изготовить средненький операционный усилитель стало сильно дешевле, чем сделать качественный (стабильный по характеристикам от партии к партии) транзистор. В итоге, во многих решениях проще (а иногда и дешевле) стало поставить вместо простейшей схемы на транзисторах, дешевый операцонник.Аналогично произошло и с катушками индуктивности. В микросхемах их с успехом стали заменять резистивно-емкостные схемы на операционных усилителях. Т.к. хоть теоретически индуктивность проще, но, на текущем уровне развитии технологии, дешевле использовать для ее замены более сложные, но технологичные решения.
В этом смысле, непонятны нападки на PyPy (и не стандартное использование того же JavaScript). Любое практическое решение это результат компромисса различных факторов (времени, стоимости, инфраструктуры и т.д.). Военные, например, аока ждут навороченных бластеров, а учатся воевать тем, что уже есть.
> индуктивность проще, но, на текущем уровне развитии технологии, дешевле использовать для
> ее замены более сложные, но технологичные решения.В силовой электронике так не считеришь :P
> В принципе, ждать уже не надо. В электронике это уже прошли, когда
> изготовить средненький операционный усилитель стало сильно дешевле, чем сделать качественный
> (стабильный по характеристикам от партии к партии) транзистор. В итоге, во
> многих решениях проще (а иногда и дешевле) стало поставить вместо простейшей
> схемы на транзисторах, дешевый операцонник.
> Аналогично произошло и с катушками индуктивности. В микросхемах их с успехом стали
> заменять резистивно-емкостные схемы на операционных усилителях. Т.к. хоть теоретически
> индуктивность проще, но, на текущем уровне развитии технологии, дешевле использовать для
> ее замены более сложные, но технологичные решения.Особенно романтично должна смотреться резистивно-емкостная схема в качестве фильтра по питанию в цепи с приличным током.
> Ждем от производителей железа транзисторы на микросхемах.:)Легко :) Нынче куча силовых ключей содержит встроенную микросхему ;-]
Знает кто-нибудь Stackless с jit это серьёзная проблема или решаемая в ближайших релизах?
Это принципиально нерешаемая проблема. Это в общем, должно быть очевидно.
> Это принципиально нерешаемая проблема. Это в общем, должно быть очевидно.А в чем очевидность?
А что в новости тогда делают слова "пока не получат"?
А чего такого? Ведь, никто не смеется над компилятором С, написаном на С... Пусть и Питоновцы делают то, что им хочется, лишь бы на благо...
> А чего такого? Ведь, никто не смеется над компилятором С, написаном на
> С... Пусть и Питоновцы делают то, что им хочется, лишь бы
> на благо...зато смеются када услышат вопрос - что первей появилось курица или яйцо
> На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, JavaScript, Io и Scheme.потом на scheme напишут реализацию python которая сможет выполнить pypy, в котором на интерпретаторе scheme запущен интерпретатор python, который запускает pypy с...
> потом на scheme напишут реализацию python которая сможет выполнить pypy, в котором
> на интерпретаторе scheme запущен интерпретатор python, который запускает pypy с...Вы забыли сказать что чтобы все это увидеть, надо будет запустить линукс в браузере, который запустит браузер с линуксом, в котором будет браузер... с линуксом... в котором.... ну в общем вы поняли :)
>> потом на scheme напишут реализацию python которая сможет выполнить pypy, в котором
>> на интерпретаторе scheme запущен интерпретатор python, который запускает pypy с...
> Вы забыли сказать что чтобы все это увидеть, надо будет запустить линукс
> в браузере, который запустит браузер с линуксом, в котором будет браузер...
> с линуксом... в котором.... ну в общем вы поняли :)а потом говорят что Бога нет )))