The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Выпуск PyPy 4.0, реализации Python, написанной на языке Python "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск PyPy 4.0, реализации Python, написанной на языке Python "  +/
Сообщение от opennews (ok) on 30-Окт-15, 00:10 
Состоялся (http://morepypy.blogspot.ru/2015/10/pypy-400-released-jit-wi...) релиз PyPy 4.0 (http://pypy.org/), реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://doc.pypy.org/en/latest/coding-guide.html#id1), Restricted Python). В отличие от прошлых выпусков, в версии PyPy 4.0 впервые наблюдается снижение производительности (http://speed.pypy.org/): новый выпуск в среднем на 1.5% медленнее прошлой версии PyPy, но по-прежнему в 7 раз быстрее классического CPython 2.7. Выпуск доступен для x86-систем  Linux 32/64, OpenBSD, FreeBSD, OS X 64 и Windows 32, а также для систем на базе архитектуры ARM (ARMv6 или ARMv7 с VFPv3) и PowerPC (ppc64).

Значительная смена номера версии не означает кардинальных изменений и связана с переходом на новую схему нумерации выпусков. Так как следом за прошлым выпуском PyPy 2.6 должен был следовать номер 2.7, разработчики решили избежать возможных пересечений с нумерацией CPython 2.7 и перейти к номерам версий, заведомо отличающимся от актуальных выпусков Python. Ветка PyPy 4 продолжает поддерживать совместимость с CPython 2.7.10 и может рассматриваться как продолжение ветки PyPy 2.x.

Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python на языке Си (CPython). Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.

Новшества (http://doc.pypy.org/en/latest/release-4.0.0.html), добавленные в PyPy 4.0:


-  В оптимизатор добавлена поддержка векторизации циклов с использованием инструкций  SIMD. Векторизация осуществляется в процессе выполнения кода, что позволяет учитываться статистику выполнения и более оптимально использовать данный вид оптимизацию по сравнению с применением упреждающей компиляции. Определение поддержки инструкций SIMD также выполняется на лету и не требует включения в исполняемый файл предкомпилированного кода. Векторизация пока отключена по умолчанию и требует указания опции "--jit vec_all=1". Тесты производительности демонстрируют (http://morepypy.blogspot.ru/2015/10/automatic-simd-vectoriza...) заметное ускорение выполнения функций математической библиотеки NumPyPy.

<center><a href="http://3.bp.blogspot.com/-aqC2wMdVRaU/ViUZJYlUNoI/AAAAAAAAAX... src="https://www.opennet.ru/opennews/pics_base/0_1446151732.png&q... style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>


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


-  Расширены возможности интегрированной математической библиотеки Numpy, в которой приблизилась к полнофункциональному состоянию реализация типов ndarray и numeric, обеспечена поддержка типов  record, string и unicode. Переработаны модули linalg, random и fft, которые переведены на интерфейс  cffi-1.0 и теперь используют библиотеки, аналогичный основному проекту numpy.

-  До версии 1.3 обновлён модуль CFFI (https://cffi.readthedocs.org/en/latest/) (C Foreign Function Interface) с реализацией интерфейса для вызова функций, написанных на языке Си, который может выступать в качестве более простой альтернативы модулю
ctypes (http://python.net/crew/theller/ctypes/). В новой версии улучшено управление жизненным циклом объектов, добавлен вызов __stdcall на платформе Win32, реализована поддержка ffi.memmove();
-  Обеспечена поддержка 64-разрядных PowerPC  (big- и little-endian вариантов ppc64).

Основные особенности PyPy:

-  Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу);


-  Реализация режима изолированного выполнения кода, к которому нет доверия. От sandbox в CPython данный режим отличается полной поддержкой всех возможностей языка без выделения unsafe-функций.

-  Автоматическая генерация и полная прозрачность встроенного JIT-компилятора;

-  PyPy успешно проходит стандартный тестовый пакет Python и поддерживает (http://pypy.org/compat.html) большинство из стандартных Python-модулей и фреймворков, таких как ctypes, django (с sqlite), twisted (без поддержки ssl), pylons, pyglet. PyPy может быть использован для бесшовной замены CPython 2.7;

-  Поддержка работы на архитектурах x86 (IA-32) , x86_64 и ARM. Ведется работа по адаптации для архитектуры PowerPC (PPC64), но она ещё не завершена;

-  На базе технологий PyPy созданы бэкенды для генерации в PyPy байткода для LLVM и виртуальных машин .NET/CLI и Java.

-  На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, Ruby, JavaScript, Io и Scheme.

-  Версия PyPy с поддержкой Python 3 развивается в рамках проекта  Py3k (https://www.opennet.ru/opennews/art.shtml?num=40050);

-  Вариант PyPy с поддержкой распараллеливания на многоядерных системах развивается в рамках проекта PyPy-STM (https://www.opennet.ru/opennews/art.shtml?num=40150) (PyPy Software Transactional Memory).


URL: http://morepypy.blogspot.ru/2015/10/pypy-400-released-jit-wi...
Новость: https://www.opennet.ru/opennews/art.shtml?num=43218

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  –7 +/
Сообщение от all_glory_to_the_hypnotoad (ok) on 30-Окт-15, 00:10 
> в версии PyPy 4.0 впервые наблюдается снижение производительности

решили начать делать тру энтерпрайз продукт, однако.

> Так как следом за прошлым выпуском PyPy 2.6 должен был следовать номер 2.7, разработчики решили избежать возможных пересечений с нумерацией CPython 2.7 и перейти к номерам версий, заведомо отличающимся от актуальных выпусков Python.

ещё одни клоуны... когда же это закончится.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  –1 +/
Сообщение от Кир on 30-Окт-15, 00:51 
А что там, кстати, слышно про Pyston, который вроде как альтернатива PyPy? Кто шустрее и лучшее?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от neon1ks (ok) on 30-Окт-15, 01:06 
Плохая какая то оптимизация у CPython.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  –3 +/
Сообщение от grec on 30-Окт-15, 02:03 
> В отличие от прошлых выпусков, в версии PyPy 4.0 впервые наблюдается снижение производительности

Это победа!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +7 +/
Сообщение от Аноним (??) on 30-Окт-15, 02:23 
> ещё одни клоуны... когда же это закончится.

не раньше, чем ты дашь дуба

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

8. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от robux (ok) on 30-Окт-15, 07:16 
> Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python на языке Си (CPython).

Странно для меня всё это...
А что, JIT-компилятор к CPython слабо прикрутить?!
Я например вообще удивлён, что у CPython нет своего JIT-компилятора...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 30-Окт-15, 07:21 
Если вам нужно шустрее, то любой интерпретатор пайтона не для вас.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

10. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 30-Окт-15, 08:44 
Питон по определению медленный, почитайте философию: https://ru.wikipedia.org/wiki/Python . В ней 19 пунктов, которые следует знать каждому питонисту!!! И в ней нет пункта про скорость и потребление памяти, иначе бы он противоречил другим пунктам. Без замедления кода и увеличения потребления памяти на порядки эту философию в полном объеме в принципе не возможно соблюдать.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

11. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  –5 +/
Сообщение от Аноним (??) on 30-Окт-15, 08:49 
Да что вы всё взяли, оптимизация, оптимизация. Питон создан не для скорости, он создан для свистоперделок и баловства школьников. Хочется чего-то серьезного? Дак пишите на серьезном языке!, не надо извращаться. У питона своя ниша, вот пускай в ней и остается.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

12. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +4 +/
Сообщение от VLA on 30-Окт-15, 11:04 
Да, когда же вы уже закончитесь
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

13. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  –2 +/
Сообщение от 123 (??) on 30-Окт-15, 11:42 
реализации Python, написанной на языке Python, реализации Python, написанной на языке Python, реализации Python, написанной на языке Python, реализации Python, написанной на языке Python, реализации Python, написанной на языке Python
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +4 +/
Сообщение от userd (ok) on 30-Окт-15, 11:50 
а что остановился?
стек сорвало?
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от userd (ok) on 30-Окт-15, 12:11 
Авторы Python как идеи и CPython как реализации к jit-ам равнодушны.

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

16. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +2 +/
Сообщение от Andrey Mitrofanov on 30-Окт-15, 12:26 
> Авторы Python как идеи и CPython как реализации к jit-ам равнодушны.
> Есть несколько подходов,
> но сложность языка препятствует значимому успеху в этом направлении.

Я правильно Вас понял, что авторы языка Python надизайнили его таким образом, что куча из того, что там у него внутре, препятствует реализации jit-а для, и они прикрывают ошибки дизайна показным равнодушием к сей свистелке?

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


(*)Тем более авторы pypy вполне себе описывают "вот-вот те вот части cpython-а", которые они не реализуют или реализуют не полностью, и почему. Насколько я ничего не знаю, и не помню, и не понимаю про обоих, трёх.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 30-Окт-15, 12:32 
Это не рекурсия, это цикл ;)
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

18. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 30-Окт-15, 12:50 
Если пункты про философию из import this, тогда это вообще про другое.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

19. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от Аноним (??) on 30-Окт-15, 15:13 
А какая вообще ниша у этого гвидобейсика? Никогда на нем на писал, а тут пришлось освоить... по мне так bash понятней и ясней и js. Ну вот правда что должна быть за задача чтобы изначально выбрать питон?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от Аноним (??) on 30-Окт-15, 15:20 
Это оптимизированная хвостовая рекурсия.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

21. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Нимано on 30-Окт-15, 15:50 
> реализации Python, написанной на языке Python, реализации Python, написанной на языке Python,
> реализации Python, написанной на языке Python, реализации Python, написанной на языке
> Python, реализации Python, написанной на языке Python

Гм, знаете, на чем самые используемые реализации си и плюсов написаны? Или тех же го с растом? Вы не поверите!

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

22. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от . on 30-Окт-15, 15:59 
А я то думаю чего на нём всё больше и больше софта пишут?! А от того что язык не серьёзный!
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

23. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от . on 30-Окт-15, 16:01 
Поверим - на Си.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от . on 30-Окт-15, 16:04 
> А какая вообще ниша у этого гвидобейсика? Никогда на нем на писал,
> а тут пришлось освоить... по мне так bash понятней и ясней
> и js. Ну вот правда что должна быть за задача чтобы изначально выбрать питон?

Да любая, кроме байтодрочерства. Но там и твой баш и js не в тему.
А так - вкусовщина это всё, не нравится - бери перловку или ребе :)

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

25. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от economist on 30-Окт-15, 16:14 
Python - 5-6-й по популярности язык. Ниши у него нет. У него есть призвание: вытеснять другие с их же "ниш и полей", даже будучи полностью бесплатным сыром:

20% многомиллионного рынка ERP теперь занимает свободный продукт на Python

20% школ в Британии преподают только Python вместо диалектов Basic

20% сайтов используют Django или другие CMS на удаве

20% компаний, использующих EDM в РФ - используют продукты на Python (+платно)

20% выпускников прикладников "бауманки" написали удава 1-2 м в анкете

20% скриптов автоматизации у меня в офисе - на Python.

Все эти скорости в "попугаях" не имеют ничего общего с реальной скоростью разработки и отзывчивостью интерфейса готовой программы. А уж в плане "красивости" и ясности кода - он просто недосягаем. Код на питоне содержит на 60% меньше спецсимволов, чем в среднем другие Top-5 языков программирования.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 30-Окт-15, 16:49 
слушайте вот эти заклинания про бесплатный сыр говорят обычно не умные люди. GNU/Linux бесплатный сыр, PostgreSQL, nginx, redis, memcached, gcc, clang, php, да до черта всего этого!
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

27. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  –1 +/
Сообщение от Нимано on 30-Окт-15, 17:00 
> Поверим - на Си.

Нет, не поверите ...

https://github.com/rust-lang/rust/tree/master/src/librustc
https://go.googlesource.com/go/+/release-branch.go1.5/src/go.../
https://go.googlesource.com/go/+/release-branch.go1.5/src/go.../

А  чтобы угодить экспертам опеннета, нужно было писать на Си! А сишный компилятор наверняка на асме или сразу с помощью бабочек!

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

28. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от economist on 30-Окт-15, 17:09 
"Бесплатный сыр" свободного Python-а - это не сам он, а 800 тысяч бесплатных библиотек и библиотечек на все случаи жизни, многие из которых можно просто скачать и использовать, не задумываясь о копирайте в принципе.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

29. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от Аноним (??) on 30-Окт-15, 17:59 
да просто сама эта поговорка "Бесплатный сыр бывает только в мышеловке" - ярко выраженный бред не соответствующий действительности
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

30. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 30-Окт-15, 21:06 
Не язык несерьезный, а люди на нем пишущие.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

31. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от Аноним (??) on 30-Окт-15, 21:07 
Больше пишут, только всё тяжелое глючное лагалово. Миллионы пользователей убунты уже оценили всю крутость питона.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

32. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +2 +/
Сообщение от Аноним (??) on 30-Окт-15, 21:09 
Питон больше не тянет...
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

33. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 30-Окт-15, 21:11 
Бесплатный сыр питона на пробу оказывается тухловат и приготовлен с отклонениями от рецептов
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

34. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 31-Окт-15, 00:22 
Можно взять и перенести систему отступов в компилируемый язык. Есть снижение читаемости? Сказано "Явное лучше, чем неявное. Ошибки никогда не должны замалчиваться. Встретив двусмысленность, отбрось искушение угадать." Тогда почему объявление переменных так неявно? Достаточно писать в начале что-то типа var и уже можно определить тип как в vala. Делаем жесткую типизацию - куча ошибок пропадает.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

35. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 31-Окт-15, 00:25 
Си компилятор давно на си можно писать. Раскрутка компилятора.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

36. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним2.7 on 31-Окт-15, 21:56 
питон это бесплатное мясо
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

37. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 01-Ноя-15, 08:56 
Взгляни на сам RPython, на Nim и на (шутка) Truthon.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

38. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  –1 +/
Сообщение от Аноним (??) on 01-Ноя-15, 09:07 
> реализации Python, написанной на языке Python, реализации Python, написанной на языке Python,
> реализации Python, написанной на языке Python, реализации Python, написанной на языке
> Python, реализации Python, написанной на языке Python

Финя. Вот мой вариант:

Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на Python написанный на

Хотел запостить на 65536 или 32768 символов, но Опеннет сказал "ОШИБКА: Тело сообщения не должно превышать 30 тыс. знаков.", а потом я решил не злить модеров лишний раз. :)

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

39. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Aleks Revo (ok) on 01-Ноя-15, 18:59 
«Убунту» - это то самое африканское слово, которое переводится как «я не осилил»?
Эти вряд ли чего-то там могут оценить (:trollface:)
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

40. "Выпуск PyPy 4.0, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 01-Ноя-15, 22:19 
количество илитистов в этом треде бьет все рекорды
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру