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 ()
Последнее исправление: baverman (всего исправлений: 8)
Ответ на: комментарий от tailgunner

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

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

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

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

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

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

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

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

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

tailgunner ★★★★★
()

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

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

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

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

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

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

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

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

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

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

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

goingUp ★★★★★
()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Jayrome ★★★★★
()

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

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

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

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

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

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

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

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

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 ★★★
() автор топика

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

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

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

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

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

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

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

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

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

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

ПюПю

dave ★★★★★
()

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

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