LINUX.ORG.RU

PyPy 1.6 — новые рекорды

 , ,


0

3

PyPy — достаточно совместимый Python интерпретатор, является почти полной заменой CPython 2.7.1, а благодаря трассирующему JIT-компилятору превосходит его по скорости.

Главными особенностями этого релиза стали скорость и стабильность. В среднем тесты производительности показывают, что PyPy 1.6 стал на 20-30% быстрее предыдущей версии, которая уже оставляла далеко позади CPython.

Это стало возможным вследствие комплексных изменений, улучшены Garbage Collector (GC), время разогрева JIT и проводимые им оптимизации, качество генерируемого машкода и реализация собственно интерпретатора.

В этой версии:

  • улучшено поведение GC на очень больших объектах и массивах;
  • ускорен ctypes: теперь вызовы оптимизируются JIT и до 60 раз быстрее чем в PyPy 1.5 и в 10 раз быстрее чем в CPython;
  • простые генераторы теперь разворачиваются в цикл по месту вызова, что дает прирост производительности в 3.5 раза, остальные генераторы были тоже оптимизированы и теперь быстрее на 10-20%, чем в PyPy 1.5;
  • поддержка плавающих одинарной точности в JIT, например array('f');
  • улучшен формат хранения словарей в зависимости от их содержимого, что дало прирост скорости и уменьшение расхода памяти, например, для словарей, у которых ключи только строки или целые; размеры остальных словарей также были уменьшены, благодаря исправленным ошибкам;
  • в поставку включен JitViewer — веб-инструмент, помогающий узнать какие части приложения были затронуты JIT, вплоть до ассемблера;
  • расширен список поддерживаемых C-модулей;
  • появились многобайтные кодировки;
  • первоначальная поддержка NumPy (теперь он очень быстр), интегрированная с JIT; к сожалению, API пока не полный и не каждое приложение сможет работать.

Анонс

>>> Страница загрузки

★★★

Проверено: Shaman007 ()

Где ссылка на заметку в morepypy?

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

т.е pypy написанный на python тоже будет быстрее? Представьте что pypypypypypy будет обгонять ассемблер и разгонять процессор!

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

pypy написанный на python тоже будет быстрее?

Откуда это следует?

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

> т.е pypy написанный на python тоже будет быстрее?

PyPy уже написан на Питоне.

Представьте что pypypypypypy будет обгонять ассемблер и разгонять процессор!

Представь, кто ж тебе запрещает.

tailgunner ★★★★★ ()

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

AST-PM-105 ()
Ответ на: комментарий от tailgunner

>PyPy уже написан на Питоне.

На каком питоне? На пупу или цпутон?

AST-PM-105 ()

первоначальная поддержка NumPy, интегрированная с JIT, теперь он очень быстр

Я так понимаю, NumPy. Уточни в новости, пжалуйста.

adriano32 ★★★ ()
Ответ на: комментарий от AST-PM-105

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

World domination, очевидно же.

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

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

Чтобы отдалить тепловую смерть вселенной, очевидно.

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

World domination будет когда он C обгонит. А пока это тормоз, который непонятно зачем пытаются заставить тормозить меньше.

AST-PM-105 ()
Ответ на: комментарий от AST-PM-105

> World domination будет когда он C обгонит

Так уже.

непонятно зачем

Непонятно, зачем бравировать невежеством.

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

>Зачем ускорять то, что предназначено

Вы верите в Предназначение?

goingUp ★★★★★ ()

Интересно насколько больше оно кушает памяти, чем CPython

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

Что уже? Питон обогнал по скорости си? Ты из какой альтернативной вселенной?

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

Питон обогнал по скорости си?

Вылезай из криокамеры, почти в два раза обогнал.

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

> PyPy уже написан на Питоне.
То старая ветка. Точнее говоря она тоже развивается и даже более функциональна.

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

> > Питон обогнал по скорости си?

Вылезай из криокамеры, почти в два раза обогнал.

Ждём выхода в гиперпространство.

geekless ★★ ()
Ответ на: комментарий от AST-PM-105

чтоб такие как ты перестали плакаться что пайтон ториозит

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

А с чего NumPy ускорился? Он и так на С и Фортране.

buddhist ★★★★★ ()

Надо написать еще HaHaHaHa...(бесконечное число раз) на хаскеле.

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

А с чего NumPy ускорился? Он и так на С и Фортране.

Убран оверхед на вызов numpy через C-python-api. Если вкратце.

baverman ★★★ ()

Когда оно обгонит ICC на Core i9 в два раза тогда и позовите.

random_linux_user ()

> В среднем тесты производительности показывают, что PyPy 1.6 стал на 20-30% быстрее предыдущей версии

Такая формулировка сильно смахивает на новости о релизах Firefox, сразу возникает легкое чувство скептицизма.

Jayrome ★★★★★ ()

Он стремиться быть совместимым с Python 2.x или Python 3.х?

eReSik ★★ ()

Отлично. Молодцы ребята, хороший темп разработки у них.

Кстати, в списке заявлена поддержка джанги. Как оно, кто щупал?

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

Он стремиться быть совместимым с Python 2.x или Python 3.х?

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

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

baverman ★★★ ()

Интересное название - ПиПи...

Raider ()

На сайте у них:

Stackless: PyPy can be configured to run in stackless mode, providing micro-threads for massive concurrency.

А что, уже допилили transaction-management?

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

А что, уже допилили transaction-management?

Stackless никак с этим не связан.

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

сразу возникает легкое чувство скептицизма.

Информация о тестах и результатах открыта. Можешь проверить.

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

Скачивала pypy и пыталась тестировать простейшие скрипты на скорость исполнения , может я что-то делала не так но стандартная реализация python выполняла их быстрее.

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

>> Питон обогнал по скорости си?

Вылезай из криокамеры, почти в два раза обогнал.

Мды.

Люди любят маркетоидов и их бред, когда их бред совпадает с их мечтами.

x86_64 ★★★ ()

Убанту теперь станет меньше тормозить?

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

> Информация о тестах и результатах открыта. Можешь проверить.

Ну естественно.

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

> Что уже? Питон обогнал по скорости си?

Читай внимательно.

Ты из какой альтернативной вселенной?

Ты просто мало знаешь о своей вселенной.

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

Вот только что обогнал. Приходи. Пруфов не будет, т.к. ты им не поверишь. Тесты делай сам. Но мы им тоже не поверим.

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

когда их бред совпадает с их мечтами.

Просто некоторые не могут правильно вопросы задавать.

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

пыталась тестировать простейшие скрипты на скорость исполнения

Через time?

baverman ★★★ ()

первоначальная поддержка NumPy (теперь он очень быстр), интегрированная с JIT; к сожалению, API пока не полный и не каждое приложение сможет работать.

Я правильно понял что это очень быстрый, сферический питон в вакууме, на котором, во всяком случае пока, ничего не запуститься?

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

Хорошо, тогда как правильно проводить тестирование, вы как знаток поясните нам. Это нужно делать в интерактивном интерпретаторе pypy?

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

Я правильно понял что это очень быстрый, сферический питон в вакууме, на котором, во всяком случае пока, ничего не запуститься?

Если не нужно специфичных сишных расширений, то запустится.

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

Или увеличивать число циклов, чтоб временем старта можно было пренебречь или timeit.

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

> Интересное название - ПиПи...

С учетом происхождения буквы игрек (она же, юпсилон; она же, ипсилон) есть другой вариант:

ПюПю

dave ★★★★★ ()

Фигово, что lxml пока не поддерживается. Одна из самых нужных либ. А вот что PIL держит - очень здорово.

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