LINUX.ORG.RU

PyPy 1.9

 ,


0

4

Вышла очередная версия PyPy — реализация языка программирования Python, которая написана на Python и может компилировать сама себя. Основным изменением этого выпуска является значительный прирост производительности. В среднем, на тестовом пакете прирост производительности PyPy 1.8 составляет около 4%. PyPy примерно в 5,5 раз быстрее классического CPython.

Этот релиз всё еще реализует интерфейс Python 2.7.2.

Основные улучшения:

  • Исправлено большое количество багов для 32-битной версии Windows.
  • Улучшения в cpyext, эмуляторе для C-модулей Cpython.
  • PyOpenSSL теперь должен работать.
  • Sets теперь имеют такие же стратегии, как и dictionaries. Это значит, что, к примеру, set'ы, содержащие только значения int будут занимать меньше памяти и быстрее работать.
  • Большой прогресс в библиотеке numpypy.
  • Теперь возможно создавать и манипулировать C-подобыми структурами испульзуя специальный PyPy-модуль _ffi.
  • Бэкэнды для архитектур, отличных от x86 (ARMv7 и PPC64) также развиваются, но не включены в основную ветку.
  • JIT-хуки для контроля создаваемого ассемблерного кода были улучшены.
  • Была добавлена select.kqueue (BSD).

>>> Официальный анонс, полный список улучшений

★★★★★

Проверено: tazhate ()
Последнее исправление: Silent (всего исправлений: 5)

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

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

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

Что ж они ван Россума не уволят-то, вот сволочи

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

shty ★★★★★
()

А как он может существовать? В каком месте происходит использование машинного кода?

cvs-255 ★★★★★
()

Так а кто-нибудь может объяснить, зачем он нужен? Почему не использовать сразу компилируемые языки, типа явы или сишарпа? Чем питон лучше?

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

Порогом вхождения

Ну почему тогда не пишут все на пхп? И вроде обычный там порог вхождения, язык, как язык, со своими особенностями.

К тому же, разве порог вхождения это оправдание, чтобы использовать язык?

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

Ну почему тогда не пишут все на пхп? И вроде обычный там порог вхождения, язык, как язык, со своими особенностями.

Потому что не все одинаково глупы/умны.

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

Ну почему тогда не пишут все на пхп?

Все пишут на пхп. Но не все признаются.

И да, на пхп не напишешь десктопное приложение. А так бы писали.

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

И да, на пхп не напишешь десктопное приложение. А так бы писали.

Я писал. И продовал. Ха-ха.

anonymous
()

portage с ним тормозит.

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

А в PHP ООП-систему и так с Java копируют. Ну или пытаются это сделать.

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

«„„2012-ый год на дворе. Есть свободные JIT-библиотеки.““»

LLVM?

Какая разница, делать JIT в интерпретаторе для команд конкретного процессора или для промежуточного представления LLVM? Всё то же только появляется некая кросспроцессорность.

C API достаточно, контроля больше. Не говоря про Cython. JIT предположительно будет компилировать всё, задержка в запуске, потребление памяти как у Java.

JIT должен кто-то скрупулезно делать, тестировать, терять зрение, время своей жизни. Каждое малое изменение в языке или корректировка превращается в «увлекательное приключение».

А со строковыми данными python/ruby/php/perl и так работает также быстро как C.

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

А со строковыми данными python/ruby/php/perl и так работает также быстро как C.

Потому, что все библиотеки написаны на Си ;) Есть оверхед, но им можно пренебречь.

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

http://ru.wikipedia.org/wiki/Phalanger

для Ъ: Phalanger — это компилятор языка PHP для .NET, представляет собой язык и реализацию стандартной библиотеки совместимой с большинством существующих PHP-приложений. Также поддерживает вызов родных PHP4 расширений, что дает возможность использовать большинство PHP-функций и классов

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

Это не то

Да не сказал бы. Вызывать методы жабовских классов и объектов из PHP-шного кода, так же как и GTK/Qt-шные методы...

no-dashi ★★★★★
()
Ответ на: комментарий от AlexCones

А PHP-java для полного комплекта нет?

Есть.

Quercus is a Java-based implementation of the PHP language that is included with Resin. According to a slideshow presented by Emil Ong (from Caucho), to a San Francisco Java Meetup Group in April 2008 pertaining to Resin 3.1, an essential difference in the operation of Quercus between the Resin Open Source and the Resin Professional editions is that in Resin Professional the PHP is compiled to Java bytecode whereas in the open source version PHP is executed by an interpreter.[17]

Caucho claims Quercus (presumably the JIT-compiled version in Resin Professional) is faster than standard PHP[18][19]. Quercus ships with Resin.

(c) http://en.wikipedia.org/wiki/Quercus_(software)#Quercus

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

Вызывать методы жабовских классов и объектов из PHP-шного кода, так же как и GTK/Qt-шные методы...

Извиняюсь, не сразу удивел это в документации, которая на редкость скупа.

Таки да, вы правы.

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

Да чтоб вас. И не говорите, что нет под pascal и assembler.

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

«„„а все эти «может компилировать сама себя» еще больше запутывают.““»

Начинаешь писать интерпретатор python на языке python. Lexer, parser, стековую машину исполняющую байткод, все дела. Потом пишешь JIT(всё таки на самом python это делать намного легче) который уже компилирует байткод python функций в машинный код процессора.

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

Не смотрел PyPy, не мне кажется что это и должно обозначать «может компилировать сама себя».

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

«может компилировать сама себя

может компилировать сама себя: gcc, ghc (g != gnu), icc

p.s. если хочешь что-то процитировать, то не надо это пихать в »"". Просто начни строчку с символа «>», парсер сделать свое грязное дело. + что за ужас у тебя на аве?

anonymous
()

ехал питон через питон
...

ну вы поняли

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

что за ужас у тебя на аве?

Ищи «ты кто такой,давай до свидания».

может компилировать сама себя: gcc, ghc (g != gnu), icc

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

В PyPy вроде намеревались тестировать изменения в языке. Код более читаем.

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

ghc (g != gnu)

Мне голландский Clean больше нравится(Concurrent Clean). Uniqueness typing легче осознать.

Хотя ни то ни другое не использую. Знаю что не буду работать там где надо математически доказывать корректность всех алгоритмов. Я это и не смогу сделать.

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

Более гибок. Простые вещи в нем проще делаются. Но видимо это не очень хорошо с huge-code проектами. Тут уж лучше жабка.

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

забавно, а что они там собираются как скриптовый язык юзать? неужели CL?

Наверняка уходят от питона они не в скриптах, а в сервисах, где планируется активное применение go.

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

ну, во-первых не стоит забывать - это всё же слухи, хоть и из первых рук

во-вторых в гугле много проектов разных, и если в каком-то и откажутся - это на общую картину не сильно повлияет (напомню, Гвидо всё ещё там кашеварит)

и в-третьих, вот уж кандидатов на замену - пруд пруди

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

неужели CL?

не, не думаю, они уже кикали CL

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

Ну, то есть, я могу написать с помощью PyPy интерпретатор, который потом не будет тянуть за собой весь рантайм PyPy?

Мне неизвестно о таких интерпретаторах. Более того, я не вижу в их написании большого смысла.

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

Любопытства ради, можешь намекнуть на источник слухов?

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

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

и в-третьих, вот уж кандидатов на замену - пруд пруди

Например что? И в какой области?

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

но вообще - было бы желание, найти что-то, или даже написать, не проблема

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

А на чём пишут GCC? ;)

на C, очень плохом C. (C.O.) Пытался скомпилировать gcc-4.7.0 под squeeze, так он заткнулся после двух часов компиляции с ошибкой на недостающий файл, md5sum проверил.

pypy скачал и запустил, задроты и экспериментаторы могут конечно его скомпилировать сами, gentoo им в помощь.

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

я не понимаю, как тормозной питон написанный на тормозном питоне может быть быстрее сишной реализации???

Да вот и ине кажется, что нас опять обманывают

Bridgit
()

реализация языка программирования Python, которая написана на Python и может компилировать сама себя.

Реализация человека, рожденный человеком, который может трахать сам себя.

nexfwall ★★★★
()

О, даже портежу добавили флаги поддержки pypy. Только не хочется его собирать, портеж и так достаточно быстр.

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

Так там же тормоза не из за питона, а из за весьма тормозной базы данных. Если её на sqlite перевести, то расчет зависимостей становится шустрее.

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

Какие тормоза? Я пробовал и на sqlite, и без нее (на вики сказано, что от sqlite только медленнее на самом деле). Ничего визуально не изменилось, а +0.0001% мне не нужен.

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

Только не хочется его собирать, портеж и так достаточно быстр.

i7 extreme или слоупок?

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

не умнее, но справляется с некоторыми задачами гораздо лучше человека потому что не упускает из вида многие детали и молотит быстро

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