| |
Доступен релиз PyPy 2.4, реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython, Restricted Python). Версия PyPy 2.4 примечательна переработкой кода GIL-блокировки и переходом на использование в качестве целевой версии языка Python 2.7.8 (ранее поддерживалась 2.7.6). Кроме того, в код внесены очередные оптимизации - новый выпуск в среднем на 4% быстрее прошлой версии PyPy и в 6.3 раза быстрее классического CPython 2.7. Выпуск доступен для x86-систем Linux 32/64, OpenBSD, Mac OS X 64 и Windows 32, а также для систем на базе архитектуры ARM (ARMv6 или ARMv7 с VFPv3).
Благодаря задействованию JIT-компилятора, на лету транслирующего некоторые элементы в машинный код, PyPy при выполнении некоторых операций в несколько раз обгоняет по производительности классическую реализацию Python на языке Си (CPython). Ценой высокой производительности и использования JIT-компиляции является более высокое потребление памяти - общее потребление памяти в сложных и длительно работающих процессах (например, при трансляции PyPy силами самого PyPy) превышает потребление CPython в полтора-два раза.
Новшества, добавленные в PyPy 2.4:
- Проведён внутренний рефакторинг кода обработки строк и байтовых массивов (bytearray). Переписана реализация глобальной блокировки интерпретатора (GIL, global interpreter lock), не позволяющей обеспечить параллельное выполнение нескольких нитей кода на языке Python. Изменения позволили увеличить производительность обработки строк в некоторых ситуациях и существенно поднять производительность при выполнении внешних вызовов, в том числе при выполнение модулей СFFI, реализованных с использованием интерфейса для вызова функций, написанных на языке Си.
- Улучшена обработка серий объектов, таких как сокеты, в длительно выполняемых процессах. В итоге удалось добиться сокращения потребления памяти за счёт повышения эффективности сбора и высвобождения подобных объектов;
- Стандартные библиотеки Python обновлены с 2.7.6 до версии 2.7.8;
- В сборках для платформы Windows обеспечено статическое связывание с zlib, expat, bzip и openssl-1.0.1i.
Основные особенности PyPy:
- Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу;
- Реализация режима изолированного выполнения кода, к которому нет доверия. От sandbox в CPython данный режим отличается полной поддержкой всех возможностей языка без выделения unsafe-функций.
- Автоматическая генерация и полная прозрачность встроенного JIT-компилятора;
- PyPy успешно проходит стандартный тестовый пакет Python и поддерживает большинство из стандартных 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;
- Вариант PyPy с поддержкой распараллеливания на многоядерных системах развивается в рамках проекта PyPy-STM (PyPy Software Transactional Memory).
|
|
- Главная ссылка к новости (http://morepypy.blogspot.ru/2014/09/pypy...)
- OpenNews: Первый выпуск PyPy-STM, интерпретатора Python с поддержкой многоядерных систем
- OpenNews: Первый стабильный выпуск PyPy3 с поддержкой Python 3
- OpenNews: Доступно обновление Python 2.7.8
- OpenNews: Второй выпуск Pyston, реализации языка Python с JIT-компилятором
| Тип: Программы | Ключевые слова: pypy, python, (найти похожие документы) | При перепечатке указание ссылки на opennet.ru обязательно | Реклама |
id=adv>
| |
|
1.10, annualslayer, 12:27, 23/09/2014 [ответить] [смотреть все] +/–
а кто-нибудь кроме Quora юзает его в продакшене?
2.20, Andrey Mitrofanov, 17:49, 23/09/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] +/–
> а кто-нибудь кроме Quora юзает его в продакшене?
Во, https://mail.python.org/pipermail/pypy-dev/2011-October/008716.html
настоящий саксесс стори, с +200%. "Академический".
---
А так, да _все ищут. pypy.org ищет, гугль ищет... https://www.google.com/search?q=pypy+in+production
1.13, qqq, 14:41, 23/09/2014 [ответить] [смотреть все] +1 +/–
кто реально разрабатывал на py-py: отпишитесь пожалуйста, как оно.
1.14, Аноним, 14:50, 23/09/2014 [ответить] [смотреть все] +/–А вот PyQt в нём по прежнему не работает ... весь текст скрыт [ показать]
1.15, Аноним, 16:23, 23/09/2014 [ответить] [смотреть все] –2 +/–Для длительно работающих прог на python может быть очень кстати fail2ban тут не... весь текст скрыт [ показать]
1.16, softfire, 16:46, 23/09/2014 [ответить] [смотреть все] +/–
> > > но при этом (в отличии от erlang) всё происходит в одном физическом потоке ОС)
Что за бред? В Эрланге легковесные процессы. Они не имеют ничего общего с потоками ОС. И что вообще за термин "физический поток"?
1.23, Аноним, 18:01, 23/09/2014 [ответить] [смотреть все] +/–Нужно больше недопиленных и несовместимых между собой реализаций бидона, милорд ... весь текст скрыт [ показать]
1.26, Аноним, 19:46, 23/09/2014 [ответить] [смотреть все] +/–Сколько террабайт памяти нужно, чтобы его собрать ... весь текст скрыт [ показать]
1.28, Гость, 06:10, 24/09/2014 [ответить] [смотреть все] +/–
я так понимаю надо начинать ждать РуРуРУ ? не ?
Ваш комментарий
Read more |