LINUX.ORG.RU

PyPy 1.7

 , ,


0

2

Вышла очередная версия PyPy — интерпретатора языка программирования Python, который написан на Python и может компилировать сам себя. Основным изменением этого выпуска является значительный прирост производительности. В среднем на тестовом пакете, прирост производительности PyPy 1.7 составляет около 30%, по сравнению с PyPy 1.6 и до 20 раз быстрее на некоторых тестах.

Основные изменения:

  • исправление ошибок, совместимость исправлений с CPython;
  • исправления в Windows-версии;
  • в PyPy 1.7 по умолчанию включен stackless;
  • NumPy был переименован в numpypy;
  • JSON encoder заменен на новый, написанный на чистом Python, превосходящий по скорости CPython с расширениями на С в 2 раза;
  • уменьшено потребление памяти некоторыми RPython модулями.

Ссылка для загрузки.

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

★★★★★

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

>It supports most of the commonly used Python standard library modules

PyPy has alpha/beta-level support for the CPython C API, however, as of 1.7 release this feature is not yet complete.

C extensions need to be recompiled for PyPy in order to work. Depending on your build system, it might work out of the box or will be slightly harder.

seed_stil ★★ ()

numpy не просто переименован, но еще и улучшен

bik ★★ ()

NumPy был переименован в numpypy

Мда, было нормальное читаемое название, стало говно.

JSON encoder заменен на новый, написанный на чистом Python, превосходящий по скорости CPython с расширениями на С в 2 раза;

Обгонять Си — любимое занятие недоязычков :lol:

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

Обгонять Си — любимое занятие недоязычков :lol:

Конечно, Си только ленивый не обгонял.

baverman ★★★ ()

Ждём PHP написанный на PHP.

Hertz ★★★★★ ()

Не беспокойтесь за любимые языки - и похапе, и яваскрипт напишут на PyPy.

tailgunner ★★★★★ ()

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

LOLWUT. Еще и заворачивается, как скатерть-самобранка? Напиши просто, что написан на пистоне, и прикручен JIT.

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

> С, С++ и Java тоже?)

Область PyPy - динамически типизированные языки, а для C/C++/Java большого профита не будет.

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

Даже если бы сопоставимая в пределах погрешности скорость была, нос gcc был бы утёрт, не? Или я мечтаю?

aptyp ★★★★ ()

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

Что-то гермафродитическое

PyPy now comes with stackless features enabled by default. However, any loop using stackless features will interrupt the JIT for now, so no real performance improvement for stackless-based programs.

Вот как это обозвать?

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

> Даже если бы сопоставимая в пределах погрешности скорость была, нос gcc был бы утёрт, не?

Да зачем утирать нос GCC - чтобы доказать, что это возможно? Так в этом никто из знающих людей не сомневается (даже нынешняя реализация за счет инлайнинга вызовов это может). Но PyPy заточен для динамически типизированных языков - важная его часть занимается тем, что извлекает из динамически типизированного кода статически типизированные участки, а это тупо не нужно при трансляции Си.

tailgunner ★★★★★ ()

А как в современном питоне дела с мультипоточными приложениями? Интересует в первую очередь виндовс и линукс. Это первый вопрос. И второй, насколько он удобен при веб-программировании, при сравнении с перлом?

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

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

Что-то гермафродитическое


Не больше, чем подтереть себе зад. :)

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

> А как в современном питоне дела с мультипоточными приложениями?

В CPython - так себе, несколько кор не загрузить. В PyPy - так же, как в CPython, хотя Риго пилит реализацию с STM.

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

> насколько он удобен при веб-программировании, при сравнении с перлом?

Намного.

anonymous ()

>NumPy был переименован в numpypy;

может хватит пакет переименовывать? Задолбали.

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

>Обгонять Си — любимое занятие недоязычков :lol:

Уж сколько раз твердили миру что производительность зависит от компилятора больше чем от языка. А gcc в этом плане очень убог.

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

>> NumPy был переименован в numpypy;

может хватит пакет переименовывать? Задолбали.

Тебе-то что? Или ты уже пользуешься PyPy? %)

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

# > насколько он удобен при веб-программировании, при сравнении с перлом?

# Намного.

Трындёж. Удобнее чуть менее, чем никак.

Для начала, перлу пофиг отступы, поэтому классический ASP в нём идёт на ура. Во-вторых, у Перла есть куча модулей, от разбора полей формы до всяких Base64/URL-encoding, включая типизированную генерацию HTML из кода (т.е. не print «<BR>», а html->br()). В третьих, Перл придуман не вчера и не студентом, поэтому как язык он стократ стабильнее рубипистонов, причём ещё и развивается. Понятно, что пистон тоже подтягивается, но ставить бизнес на зыбкий, неустоявшийся язык с потенциальной перспективой выкинуть все наработки - нафик не надо. Хочешь быть в мэйнстриме - выбирай путёвые языки.

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

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

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

> Получается, что потоков в смысле «системных потоков», так и не сделали.

Вообще-то именно их и сделали.

решение получается немасштабирумым по определению.

Если пытаться CPU-bound решение масштабировать нитями - да.

tailgunner ★★★★★ ()

А какая цель у проекта? Сравняться с Java по производительности? )))

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

Ты о питоне вообще хоть что-нибудь не из ЛОРа читал?

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

> А какая цель у проекта?

Стать стандартным Питоном во всех дистрах :)

tailgunner ★★★★★ ()

Действительно ли он такокы быстрый?

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

> Для начала, перлу пофиг отступы, поэтому классический ASP в нём идёт на ура ActiveServerPages? Без меня, спасибо.

Во-вторых, у Перла есть куча модулей

У питона-то ни одного, ага.

В третьих, Перл придуман не вчера и не студентом

Питону двадцать лет, ежели что. Он на четыре года младше Python.

ещё и развивается

Кто спорит. Только не пятая ветка, а шестая, которая отличается от пятой куда больше, чем Python 3.x от 2.x.

Понятно, что пистон тоже подтягивается, но ставить бизнес на зыбкий, неустоявшийся язык с потенциальной перспективой выкинуть все наработки - нафик не надо.

Толсто, мой маленький дружок.

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

> Для начала, перлу пофиг отступы, поэтому классический ASP в нём идёт на ура

ActiveServerPages? Без меня, спасибо.

> Во-вторых, у Перла есть куча модулей

У питона-то ни одного, ага.

> В третьих, Перл придуман не вчера и не студентом

Питону двадцать лет, ежели что. Он на четыре года старше Python.

> ещё и развивается

Кто спорит. Только не пятая ветка, а шестая, которая отличается от пятой куда больше, чем Python 3.x от 2.x.

> Понятно, что пистон тоже подтягивается, но ставить бизнес на зыбкий, неустоявшийся язык с потенциальной перспективой выкинуть все наработки - нафик не надо.

Толсто, мой маленький дружок.

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

У меня давно зреет подозрение, что с перлом все плохо и ему скоро конец. Все меньше и меньше проектов его используют, молодежь не хочет изучать это монстуозное поделие. Ява намного проще и мощнее, а по числу библиотек вообще на первом месте.

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

> Питону двадцать лет, ежели что. Он на четыре года старше Python.

Да ё же моё.

Короче, Python — 1991, Perl — 1987. Вопросы?

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

То есть в питоне можно запустить потоки подобно вызовам phtreads? Или там работает каждый квант времени только один поток, а остальные ждут, типа как в руби?

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

нееееееет, браузер на JavaScript в котором будет поддержка JavaScript и который сможет запускатся сам внутри себя

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

>Для начала, перлу пофиг отступы

Всё понятно, дальше можно не читать. Аргумент не засчитан. И да, толсто.

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

> То есть в питоне можно запустить потоки подобно вызовам phtreads?

То есть нити Питона и есть pthreads...

Или там работает каждый квант времени только один поток, а остальные ждут

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

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

Во-вторых, у Перла есть куча модулей, от разбора полей формы до всяких Base64/URL-encoding, включая типизированную генерацию HTML из кода (т.е. не print «<BR>», а html->br())

Спорим, ты же даже не пытался искать:

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

А насчёт заменить CPython совсем, вплоть до ненужности?

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

> А насчёт заменить CPython совсем, вплоть до ненужности?

Таких планов нет. CPython будет как минимум reference implementation, по которой все остальные реализации (IronPython, Jyton, PyPy, Stackless) будут сверять поведение.

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

> Конечно, Си только ленивый не обгонял.

И ленивые Си обгонят нанекоторых задачах.

anonymous ()

А питон где-то вообще используется? А то вакансий хрен найдешь.

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

Понятно. Получается, за 20 лет разработки так и не смогли, язык остался в нише для написания простеньких скриптов. Линукс за этот срок прошел путь от эмулятора терминала до полноценной ОС энтерпрайз уровня.

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

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

Вакансий достаточно это не ситуация 3-х летней давности

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

Действительно ли он такокы быстрый?

Почему бы и нет. Но если он кушает больше памяти...

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

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

Получается, что ты ничего не знаешь о Питоне и всерьез им не пользовался.

гораздо продуктивней потратить время на изучения с++11.

Тебе лучше учить Яву.

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

> NumPy был переименован в numpypy

Мда, было нормальное читаемое название, стало говно.

нямпипи - это же Ъ :)

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