The OpenNET Project / Index page

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

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

"Выпуск PyPy 2.2, реализации Python, написанной на языке Python "  +/
Сообщение от opennews on 18-Ноя-13, 00:54 
Представлен (http://morepypy.blogspot.ru/2013/11/pypy-22-incrementalism.html) релиз PyPy 2.2 (http://pypy.org/), реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#re...), Restricted Python). Версия PyPy 2.2 примечательна интеграцией инкрементального сборщика мусора, разработка которого была профинансирована организацией Raspberry Pi Foundation. Кроме того, в код внесены очередные оптимизации - новый выпуск в среднем на 1% быстрее (http://speed.pypy.org/) прошлой версии PyPy и в 6.2 раза быстрее классического CPython 2.7.3. Выпуск доступен для x86-систем  Linux 32/64, Mac OS X 64 и Windows 32, а также для систем на базе архитектуры ARM (ARMv6 или ARMv7 с VFPv3).


<center><img src="https://www.opennet.ru/opennews/pics_base/0_1384718582.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></center>


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

Новшества, добавленные в PyPy 2.2:

-  Новый инкрементальный сборщик мусора, позволяющий избежать подвисаний в процессе чистки значительной коллекции объектов. Ранее, в редких случаях, сборщик мусора мог приостановить выполнение программы во время перебора всех активных объектов. Чем больше объекты занимали памяти, тем дольше могли длиться такие приостановки. В новом сборщике мусора работа разбивается на несколько шагов, позволяющих минимизировать время блокировок. Блокировки по прежнему возникают при работе отдельных шагов сборки мусора и в процессе деятельности JIT, но теперь их время не должно превышать 5 миллисекунд;

-  Обеспечено периодическое уменьшение счётчиков  JIT-перекомпиляции, что позволяет сократить потребление памяти из-за накопления результатов JIT-компиляции редко выполняемого кода в длительно работающих процессах;

-  Библиотека для выполнения научных расчётов NumPyPy разбита на две части: в кодовой базе PyPy  оставлен только базовй модуль _numpypy, остальные компоненты выделены в отдельный репозиторий PyPy NumPy (https://bitbucket.org/pypy/numpy).  В  NumPy добавлена поддержка рудиментарного  C API, используемого совместно с cpyext;

-  Задействован JIT при выполнении кода, использующего sys.set_trace;
-  Увеличена скорость декодирования JSON;
-  Ускорены операции копирования содержимого буферов и сокращены накладные расходы при выполнении  не-inline вызовов;

-  Написаны ранее отсутствующие функции  os.*(), в том числе os.startfile() для платформы Windows и некоторые редкоиспользуемые вызовы для POSIX.


Параллельно развиваются два экспериментальных проекта, наработки которых в скором времени войдут в состав основного дерева исходных текстов PyPy:  Py3k - версия с поддержкой Python 3; STM (PyPy Software Transactional Memory) - вариант (https://www.opennet.ru/opennews/art.shtml?num=33817) PyPt с поддержкой распараллеливания на многоядерных системах.

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

-  Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу, но при этом (в отличии от 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.

URL: http://permalink.gmane.org/gmane.comp.python.announce/11263
Новость: https://www.opennet.ru/opennews/art.shtml?num=38448

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

Оглавление

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


1. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Кир on 18-Ноя-13, 00:54 
Кто реально использовал, как впечатления?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +2 +/
Сообщение от vitalif (ok) on 18-Ноя-13, 01:07 
Множество Мандельброта при сборке себя рисует, красиво.

Собирается туеву хучу времени.

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

9. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  –1 +/
Сообщение от Кир on 18-Ноя-13, 01:59 
Замечательное достоинство! Остальные -- такие же?
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

32. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 19-Ноя-13, 02:58 
> Собирается туеву хучу времени.

Питон не тормозит! Он очень даже резво ползает!

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

17. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +/
Сообщение от анонимз on 18-Ноя-13, 09:09 
Пробовал год-полтора назад. Долго запускается и память жрет и сам исполняемый файл ого-го. Хотя работает быстрее. Модулей мало. Это RPython - Restricted Python - далее цитата: В отличие от стандартного Python, RPython является статически типизированным для более эффективной компиляции
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  –3 +/
Сообщение от Константавр (ok) on 18-Ноя-13, 01:01 
Даёшь Blender на pypy! И чтоб в десять раз быстрее работал!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Аноним (??) on 19-Ноя-13, 02:59 
> Даёшь Blender на pypy! И чтоб в десять раз быстрее работал!

А также занимал 100Мб и жрал 20Гб оперативки. На месте интеля я бы проспонсировал, чтоб процы и память покупали.

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

36. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  –1 +/
Сообщение от р323234 on 19-Ноя-13, 06:56 
Кому надо, тот купит сейчас взять машину с 32гб RAM не фантастика уже доя рядового обывателя.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

37. "Выпуск PyPy 2.2, реализации Python, написанной на языке..."  +2 +/
Сообщение от arisu (ok) on 19-Ноя-13, 07:13 
> Кому надо, тот купит сейчас взять машину с 32гб RAM не фантастика
> уже доя рядового обывателя.

вроде бы и не пятница, а уже лыка не вяжет…

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

38. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Сергей (??) on 19-Ноя-13, 14:37 
> Кому надо, тот купит сейчас взять машину с 32гб RAM

Товарищ с какого дуба рухнул?

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

40. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  –3 +/
Сообщение от Hore on 19-Ноя-13, 15:55 
>> Кому надо, тот купит сейчас взять машину с 32гб RAM
> Товарищ с какого дуба рухнул?

А что-то не так? 32 уже давно мало для более-менее нагруженных серверов.

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

41. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  –1 +/
Сообщение от Сергей (??) on 19-Ноя-13, 16:57 
Не спасибо, я лучше по старинке на C/C++ - на порядки меньше жрёт памяти и работает на порядки резвее (в том числе из-за малого потребления памяти). Если понадобится, то Ассемблер мне местами поможет. И всё это будет работать на Атоме или АРМе с небольшим ОЗУ не хуже, чем многоядерный Xeon с огромным кэшем и ОЗУ >= 32 гигов. MySQL тоже в жoпку из-за непомерного жрача памяти и тормознутости. Но это ежели не веб-сервер. А ежели сайтики крутить, то из-за стандартного ПО наверно придётся-таки взять PHP, Java, MySQL и прочюю заразу.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

42. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +/
Сообщение от Организация Объединённых Тюленей on 23-Ноя-13, 10:25 
Ты не поверишь, для десктопа/рабочей станции - никому не надо.
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

20. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +2 +/
Сообщение от Аноним (??) on 18-Ноя-13, 13:42 
Штука интересная, только вот JIT требует много памяти, что интересного в этом всем нашел для себя фонд Raspberry Pi, который выпускает устройство с такими маленьким объемом памяти
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  +1 +/
Сообщение от Аноним (??) on 19-Ноя-13, 03:00 
> такими маленьким объемом памяти

Знаете что такое садо-мазо? Вот, у этих мсье очень утонченная и изысканная версия :)

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

39. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  –1 +/
Сообщение от Hore on 19-Ноя-13, 15:53 
>Штука интересная, только вот JIT требует много памяти, что интересного в этом всем нашел для себя фонд Raspberry Pi, который выпускает устройство с такими маленьким объемом памяти

есть сайт на django почти ничего не ест, камень вот слабенький, пришлось статику в tmpfs вынести, так что с памятью там все нормально, больше всего, если интересно, кушает mysql ~140-200Mб

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

23. "Выпуск PyPy 2.2, реализации Python, написанной на языке Pyth..."  –7 +/
Сообщение от Ян Злобин email(ok) on 18-Ноя-13, 19:49 
Ну теоретически если есть компиляторы си на сях, то почему бы не быть питону на питоне. :-)  Но звучит как-то странно, всё равно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




Спонсоры:
Inferno Solutions
Ideco
A-Real
Hosting by Hoster.ru
Хостинг:

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