LINUX.ORG.RU
 

Вышел PyPy 1.2 - интерпретатор Python, написанный на Python


0

0

Буднично и обыденно вышла очередная версия PyPy - интерпретатора языка Python, написанного на Python.

В этой версии впервые появился JIT, благодаря которому PyPy уже обгоняет CPython в большинстве бенчмарков. Это важный этап в развитии проекта, отмечают разработчики, и хотя проект ещё далёк от практического применения, такими темпами светлое будущее не за горами.

Бенчмарки PyPy vs CPython: http://speed.pypy.org/

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


[#] Ответ на: комментарий от Alesh 14.03.2010 16:01:03  
theos

>А вот пример до сих пор хочется увидеть.

Да блин, я привел конкретный пример с WSDLкой.

*** ()
[#] Ответ на: XML is like violence; if a little doesn't solve the problem, use more. (c) от anonymous 14.03.2010 15:34:43  
theos

>Если так подходить к созданию себе проблем, то, безусловно, Питон не нужен.

Как походить? Если хотеть ручками следить за соответствием кода и всдлки?

*** ()
[#] Ответ на: комментарий от Alesh 14.03.2010 16:01:03  
theos

>Читать о ваших проблемах, в купе с отмазками привести пример, становится все смешнее и смешнее. )))

Я привел уже кучу раз: генерация документации, верификаци, построение прочих артефактов - например WSDL.

*** ()
[#] Ответ на: комментарий от Alesh 14.03.2010 16:01:03  
theos

>Пример с продуктом путать начал?

Если пример интересного решения является чьим-то продуктом то они могут совпадать.

*** ()
[#] Ответ на: комментарий от Alesh 14.03.2010 16:13:05  
theos

>может и действительно все так плохо )))

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

*** ()
[#] Ответ на: XML is like violence; if a little doesn't solve the problem, use more. (c) от anonymous 14.03.2010 15:34:43  
theos

>XML is like violence; if a little doesn't solve the problem, use more. (c)

Да сравнивай XML с чем хочешь XML, XSD, WSDL - стандарт и это хорошо. Мог бы быть стандарт гораздо хуже. Или еще хуже отсутствие стандарта. Мнение XMLофобов как и вообще любой-технологии-фобов мне как то не очень интересно.

*** ()
[#] Ответ на: комментарий от theos 14.03.2010 18:37:54  

> Как походить? Если хотеть ручками следить за соответствием кода и всдлки?

Воистину, жаба с зумелем съедают мозг.

()
[#] Ответ на: комментарий от shapka 14.03.2010 18:59:20  
theos

Прочетай комментарий выше.

*** ()
[#] Ответ на: комментарий от theos 14.03.2010 18:36:49  

>> А вот пример до сих пор хочется увидеть.

> Да блин, я привел конкретный пример с WSDLкой.

Если это был пример, то можно и обсудить.

Если есть готовая WSDL, по построить по ней как серверную, так и клиентскую часть вполне можно (В гугле масса примеров))). А используя упоминавшиеся декораторы еще и вполне красиво. А генерить по существующему коду питона, да вряд ли получится. Хотя я себе слабо представляю необходимость такого хода.

()
[#] Ответ на: комментарий от theos 14.03.2010 19:05:13  

Настоящие программисты на Java могут писать на Java на любом языке.

anonymous ()
[#] Ответ на: комментарий от theos 14.03.2010 18:34:27  

>> Интересно а по описанию на каком динамическом, нетипизированном языке вы не надорветесь строить WSDLку? Очень хочется узнать ;)

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

Это не проблемы, это его достоинство )))

()
[#] Ответ на: комментарий от Alesh 14.03.2010 20:18:16  
theos

> по построить по ней как серверную, так и клиентскую часть вполне можно

Да там даже работать почти не придется ввиду того что весь контроль за соответствием все равно ляжет на программиста.

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

WSDL - это просто пример с которым я сталкнулся. Когда структура меняется достаточно часто - особенно на этапе разработке, то очень удобно следить за консистенотностью. Причем как правило изменения в первую очередь в коде - по необходимости. Лично я использую как раз порождение WSDL по коду.

*** ()
[#] Ответ на: комментарий от anonymous 14.03.2010 20:24:56  
theos

>Настоящие программисты на Java могут писать на Java на любом языке.

WSDL придумал не я, не создатели джавы и не заказчик. WSDL это стандарт - в не зависимости от степени его кривизны, который лично мне (и много кому еще) нужно поддерживать вне зависимости от половых трудностей. А ругать XML это настолько общее место, что уже скушно.

*** ()
[#] Ответ на: комментарий от theos 14.03.2010 20:41:32  

Тебе нужно - поддерживай и крепись. Только в наш Питон не лезь.

anonymous ()
[#] Ответ на: комментарий от anonymous 14.03.2010 20:45:38  
theos

>Тебе нужно - поддерживай и крепись. Только в наш Питон не лезь.

Гвидо, ты?

*** ()
[#] Ответ на: комментарий от theos 14.03.2010 1:09:11  
filin

>> Я тоже заметил. Похоже, что собеседник познакомился с материалом. Понял, что не по теме ляпнул и теперь делает хорошую мину.

> Метапрограммированием я занимался профессионально. Так что материалом немножко владею ;) Мои претензии скорее к динамическому подходу вообще и справедливы не только для питона. Да, в питоне на лету можно добавлять методы и атрибуты на лету. Конструировать на лету классы - можно одной такой динамикой. Но у этого подхода есть фундаментальный минус - вся логика происходящего будет только в вашей голове. Как следствие на основе такой модели дико неудобно или невозможно генерировать эффективный код, документацию, верификацию, спецификацию и так далее. То есть на самом деле вы не вносите в язык понятий предметной области. Вы можете сказать что метапрограммирование не об этом. Но блин, когда я говорю что на языке плохо программировать я не имею ввиду что на нем переменных нету. Я имею ввиду что на этом языке не удобно выражение концепций более высокого уровня. Так и с метапрограммированием в питоне: технически оно есть, но только много чего не позволяет.

...
> Почему с математическим? А проблема в том, что вы не замечаете что разницы то между моделировнием и программированием метапрограммирование должно страрть. В "правильных" системах эту разницу почти и не заметишь. Если ваш язык не умеет понимать модели, то есть вводить предметные сущности, - то и метапрограммирование в нем не полноценное. Метапрограммирование решает определенные задачи, так вот питоновское метапрограммирование справляется не со всеми из них. какие - я перечислил.


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

вот относящийся к теме метапрограммирования пример, который мне интересен:
есть всевозможные интеллектуальные задачки/головоломки/итд для детей разных возрастов (от детсада до старшего школьного), нужно придумать язык, позволяющий "минимальными" усилиями создавать язык предметно-ориентированный для конкретного типа задачек, логического/лингвистического/геометрического/смешаного/итд. минимальными означает возможность реализации DSL за разумное время средним программистом, сгенерённый DSL должен:
1) быть способен описать любую задачку из области, под которую он сгенерён
2) школьник, решающий описываемые DSL задачки, должен быть способен _сам_ описать на этом DSL любую задачку из области, описываемой DSL и без помощи разработчика получить модель работающую на компьютере.
3) в общем виде тут можно наложить требование возможности описать модель задачек из любого школьного предмета, но это слишком сильно, поэтому это намёк куда двигаться

смысл описываемого примера в привлечении пользователей интеллектуальных игрушек к самостоятельному расширению набора игрушек, что позволяет к ограниченному штату разработчиков таких игрушек добавить _армию_ пользователей-разработчиков. Школы компьютеризировали, а зачем, по-большому счёту никто не знает (про откаты и распилы промолчим, нас интересует "полезный выхлоп").

** ()
[#] Ответ на: комментарий от filin 14.03.2010 21:13:59  
theos

Что то мне таких задачек не попадалось в школьном возрасте. Достаточно странно требовать от школьника врубаться в идеи DSL - мне кажется это совсем своевременно - физика и математика для них полезней. Но это уже мое лично дело.

А можете привести пример таких задач? Очень интересно.

>если я хорошо понял утверждения выше, то я думаю, что создать язык "хорошо приспосабливаемый" к выражению любой модели любой предметной области невозможно

Именно по-этому мне крайне импонирует идея Language Workbench.

*** ()
[#] Ответ на: комментарий от filin 14.03.2010 21:13:59  
theos

Кстати - ссылка в профиле у вас битая. Это так и задумано?

*** ()
[#] Ответ на: комментарий от Aewtoo 13.03.2010 11:36:04  

>Тавтология

не нажо использовать слова, знпчения которых ты не понимаешь.

***** ()
[#] Ответ на: комментарий от annulen 13.03.2010 18:50:38  
pawnhearts

> /me представляет себе феерический дебаг
да всё замечательно дебажиться у питона отличный интерактивный режим и pdb и исходники читабельные и docstrings

* ()
[#] Ответ на: комментарий от Reset 13.03.2010 11:57:42  

> когда всё прогрессивное человечество сто лет как использует x86_64

64 бита на рабочей станции не нужны.

Большинство прикладного софта на ура живёт в двух гигабайтах. А выигрыша по скорости 64 бита не дают.

* ()
[#] Ответ на: комментарий от xintrea 13.03.2010 13:21:37  

> Зачем на интерпретированном яыке писать интерпретатор этого же языка?\

Чтобы интерпретатор был гибче.

> Всеравно для выполнения требуется базовая среда питона под конкретную платформу,

Подлежащий интерпретатор планируется минимизировать, часть его переводится в JIT.

Как видим, результаты уже хорошие.

* ()
[#] Ответ на: комментарий от yk4ever 15.03.2010 12:10:08  
Reset

говори за себя, мне нужны

> А выигрыша по скорости 64 бита не дают.

4.2

***** ()
[#] Ответ на: комментарий от kto_tama 13.03.2010 13:41:27  

> как у него с многопоточностью ? так же плохо ?

С многопоточностью у питона всё отлично, если не писать числодробилки.

А числодробилки на питоне писать не следует вообще.

* ()
[#] Ответ на: комментарий от Reset 15.03.2010 12:13:19  

> 4.2

Пруфлинки будут, не?

Выигрыш из-за лишних регистров примерно компенсируется тормозами из-за увеличения размера указателей.

* ()
[#] Ответ на: комментарий от yk4ever 15.03.2010 12:13:21  

> А числодробилки на питоне писать не следует вообще.

На чистом Питоне, и только пока.

***** ()
[#] Ответ на: комментарий от yk4ever 15.03.2010 12:14:19  
Reset

> Пруфлинки будут, не?

Любая чилодробильня. У меня есть самописная чилодробильная прога, которая в некоторых местах показывает десятикратный прирост.

> Выигрыш из-за лишних регистров примерно компенсируется тормозами из-за увеличения размера указателей.

теоритик, такой теоретик

***** ()
[#] Ответ на: комментарий от theos 14.03.2010 22:48:43  
filin

> А можете привести пример таких задач? Очень интересно.

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

В случае ЕГЭ имеем:
а. списать нельзя, поскольку коэффициенты у всех разные.
б. учителя порешать и выдать ответы не могут, поскольку генерация коэффициентов и их рассылка на места производится непосредственно перед экзаменом.
с. решения сразу посылаются в вц минобра откуда пришли коэффициенты. Общее решение в этом вц проверяет ответы сразу после экзамена и записывает оценку в централизованную базу данных. Коррупция на местах отсутствует (в экзаменационные помещения устанавливаются веб-камеры с записью, каждый родитель или работник гороно может наблюдать за всем происходящим в помещении)

проблемы:
1) задать общее решение может быть слишком тяжело
2) без контроля промежуточных шагов нельзя сказать, где учащийся ошибся и поправить его, описать модель, которая способна проверять ещё и промежуточные шаги решения может быть слишком тяжело
3) используя "подпольную программу-решалку" учащийся может "списывать" её ответы не понимая как задача была решена => нужен анализ промежуточных шагов решения учащегося, опять же усложнение задачи

в рамках тестов с выбором ответа из списка (ЕГЭ один из них) такой подход имеет право на существование

** ()
[#] Ответ на: комментарий от tailgunner 15.03.2010 12:20:33  

> На чистом Питоне, и только пока.

При использовании Numpy/SciPy количество требуемой возни постепенно сводит выигрыш от питона на нет.

* ()
[#] Ответ на: комментарий от Reset 15.03.2010 12:22:08  

> Любая чилодробильня. У меня есть самописная чилодробильная прога, которая в некоторых местах показывает десятикратный прирост.

Перепишите получше. Используйте оптимизирующий компилятор под x86.

> теоритик, такой теоретик

Никакой теории. Тупо результаты практических тестов.

* ()
[#] Ответ на: комментарий от yk4ever 15.03.2010 15:08:22  
annulen

Интересная цитата про 32 и 64 бита из сопроводительной документации квантовохимического пакета GAMESS US:

"Converting GAMESS to 64 bits is important in order to allow for the allocation of more than 2 GBytes of RAM for the calculation. In fact, it is higly desirable to see all 32 bit systems eliminated from the face of the planet. So, if you encounter a new system that supports both 32 and 64 bit models, don't even bother about porting for 32 bit mode. Its the past, not the future."

** ()
[#] Ответ на: комментарий от yk4ever 15.03.2010 15:08:22  
Reset

> Перепишите получше.

написано все хорошо

> Используйте оптимизирующий компилятор под x86.

используется

> Тупо результаты практических тестов.

у меня противоположные результаты

***** ()
[#] Ответ на: комментарий от annulen 15.03.2010 15:25:16  

> "Converting GAMESS to 64 bits is important in order to allow for the allocation of more than 2 GBytes of RAM for the calculation

Для научных числодробилок, которым нужно стопиццот памяти - да, 64 бита маст хэв.

Другое дело, что это немножко не область применения питона.

У меня на ноуте 3 Гб памяти. Я откровенно не знаю куда их девать. 64 бита мне там нахрен не впёрлись.

* ()
[#] Ответ на: комментарий от yk4ever 15.03.2010 15:40:24  
annulen

Там ключевая фраза "In fact, it is higly desirable to see all 32 bit systems eliminated from the face of the planet" :)

** ()
[#] Ответ на: комментарий от yk4ever 15.03.2010 15:40:24  
Love5an

ну да, ну да
"640Кб должно быть достаточно для каждого"

()