The OpenNET Project / Index page

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

23.09.2014 09:30  Выпуск PyPy 2.4, реализации Python, написанной на языке Python

Доступен релиз 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).


  1. Главная ссылка к новости (http://morepypy.blogspot.ru/20...)
  2. OpenNews: Первый выпуск PyPy-STM, интерпретатора Python с поддержкой многоядерных систем
  3. OpenNews: Первый стабильный выпуск PyPy3 с поддержкой Python 3
  4. OpenNews: Доступно обновление Python 2.7.8
  5. OpenNews: Второй выпуск Pyston, реализации языка Python с JIT-компилятором
Лицензия: CC-BY
Тип: Программы
Ключевые слова: pypy, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.2, Аноним, 10:19, 23/09/2014 [ответить] [смотреть все]     [к модератору]
  • +1 +/
    Ява приложения в таких случаях потребляют примерно в 3 раза больше памяти чем Cp... весь текст скрыт [показать]
     
     
  • 2.6, Аноним, 12:14, 23/09/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –4 +/
    Толсто
     
     
  • 3.9, Аноним, 12:25, 23/09/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +11 +/
    в среднем, в 3 раза больше
    http://benchmarksgame.alioth.debian.org/u64q/python.php
     
     
  • 4.11, Варикоз, 14:01, 23/09/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    но и цпу важ в 76 раз больше...
     
     
  • 5.21, Аноним, 17:59, 23/09/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Бидон не тормозит. Если у тебя в 76 раз больше CPU.
     
     
  • 6.31, Аноним, 10:21, 24/09/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Во первых там для особо одаренных написано что многое зависит от алгоритма решен... весь текст скрыт [показать]
     
     
  • 7.32, Аноним, 10:39, 24/09/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А если вот так посмотреть - то вовсе даже и не кривой ... весь текст скрыт [показать]
     
  • 1.10, annualslayer, 12:27, 23/09/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    а кто-нибудь кроме Quora юзает его в продакшене?
     
     
  • 2.18, Аноним, 17:31, 23/09/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Рдио кажется.
     
  • 2.20, Andrey Mitrofanov, 17:49, 23/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Во, https mail python org pipermail pypy-dev 2011-October 008716 html настоящи... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.33, annualslayer, 11:00, 24/09/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    у меня по этому запросу только про квору показало ... весь текст скрыт [показать]
     
  • 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 тут не... весь текст скрыт [показать]
     
     
  • 2.22, Аноним, 18:00, 23/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Да, его уже переписали на си, чтобы не ть себе мозг двадцатью видами интерпре... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, chinarulezzz, 18:24, 23/09/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    инфа от инсайдера? %)
     
     
  • 4.34, Аноним, 15:56, 24/09/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ага, тынц http sourceforge net projects mf2b - один инсайдер А вот еще тынц ... весь текст скрыт [показать]
     
     
  • 5.35, chinarulezzz, 22:54, 24/09/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    так 171 переписали на си, чтобы не ть себе мозг двадцатью видами интерпрета... весь текст скрыт [показать]
     
  • 2.25, Andrey Mitrofanov, 18:41, 23/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Ты знал http www fail2ban org wiki index php Requirements Requirements ... весь текст скрыт [показать] [показать ветку]
     
  • 1.16, softfire, 16:46, 23/09/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    > > > но при этом (в отличии от erlang) всё происходит в одном физическом потоке ОС)

    Что за бред? В Эрланге легковесные процессы. Они не имеют ничего общего с потоками ОС. И что вообще за термин "физический поток"?

     
     
  • 2.17, Andrey Mitrofanov, 17:15, 23/09/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Это из теории струн А нет, струй ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.19, Аноним, 17:31, 23/09/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Физики струячат :) (R)
     
  • 1.23, Аноним, 18:01, 23/09/2014 [ответить] [смотреть все]     [к модератору]  
  • +/
    Нужно больше недопиленных и несовместимых между собой реализаций бидона, милорд ... весь текст скрыт [показать]
     
  • 1.26, Аноним, 19:46, 23/09/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    Сколько террабайт памяти нужно, чтобы его собрать?
     
  • 1.28, Гость, 06:10, 24/09/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    я так понимаю надо начинать ждать РуРуРУ ?  не ?
     
     
  • 2.30, Andrey Mitrofanov, 10:04, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    > я так понимаю надо начинать ждать РуРуРУ ?  не ?

    Зачем-зачем?

    """For building PyPy, we recommend installing a pre-built PyPy first [...]. It is possible to build PyPy with CPython, but it will take a lot longer to run – depending on your architecture, between two and three times as long.

     
  • 1.29, Гость, 06:11, 24/09/2014 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Вот дом, который построил Джек....

    ;)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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