Релиз PyPy 1.3

    PyPy это экспериментальная реализация Python на языке RPython — подмножестве языка Python. Особенностями проекта является наличие JIT компилятора и возможности оттранслировать код интерпретатора в С, .Net и Java версии.

    Главное нововведение версии 1.3 — поддержка С расширений СPython. Расширения не являются бинарно-совместимыми, поэтому для использования из PyPy их придется пересобрать. Не удивляйтесь если ваше любимое расширение не соберется — поддержка cpyext находится в альфа стадии и существенная часть API CPython еще не реализована. В этом случае разработчики предлагают закатать рукава и реализовать их самостоятельно.

    Кроме того в релиз вошли множественные улучшения jit компилятора, в частности серьезно увеличена скорость компиляции, багфиксы и проч.

    Хотя проект еще далек от готовности, скорость развития продолжает радовать — особенно на фоне того, что об Unladen Swallow в последнее время мало слышно.

    Подозреваю что в следующих релизах мы увидим 64-битную версию PyPy и поддержку jit для расширений С — как результат двух проектов которые реализуются в рамка GSoC в этом году.

    Собственно новость
    Страница для скачивания

    Комментарии 11

      0
      Да, API годное будет через пару лет, хотя радует, что PyPy развивается ;)
        +2
        об Unladen Swallow в последнее время мало слышно

        Это не совсем верно.

        Проект практически завершен. Но пятикратного увеличения, на которое расчитывали, добиться не смогли — только ~1.5. GIL тоже никуда не делся. Зато возросло потребление памяти и уменьшилась скорость запуска. Подробнее в презентации на PyCon2010.

        Проект будет влит в CPython 3.3-3.4 (PEP). Сейчас доработка ведется в бранче py3k-jit.
          0
          Спасибо! Скажите, а появилась ли полноценная поддержка сокетов?
            0
            В каком смысле? ) PyPy — это полноценная реализация python 2.5. И поддержка сокетов там аналогичная. То что написано про API — это про внутреннее API, которое доступно из C расширений. Если вы про него, то черт его знает. Они пишут его с бешенной скоростью — на IRC товарищи в шутку вычисляли свой fps — количество реализуемых функций в секунду. )
              0
              Возможно я что-то упустил, но примерно 4 месяца назад я пробовал собрать виртуальную машину с PyPy sandboxed, и в результате обнаружил что _sockets внутри PyPy выбрасывал NotImplementedError на некоторые функции. Мне для проекта требовалась полная поддержка сокетов, так что от PyPy пришлось отказаться. Хотя, возможно, это была специфичная для sandbox проблема, я сейчас уже не помню.
            –1
            реализация Python на языке RPython

            Так и начинаются Skynet-ы.
              0
              а нафига им там расширения cpython?
              концепт же вроде другой совсем…
                0
                Ну а кто будет использовать реализацию питона без библиотек? Для всяких IronPython и Jython есть вариант использования соответвенно .net и java библиотек, а pypy и unladen swallow cделали поддержку cpython'овских расширений.
                А в чем принципиальное отличие концепта?
                  0
                  если считать библиотеки расширениями — то это уже не совсем питон на питоне.
                  если считать бабилиотеки частью питона — то это уже питон не совсем на питоне.
                    +1
                    речь идет о всяких внешних библиотеках типа psycopg, mysqldb, pycrypto и проч.

                    Вы как-то зациклились на концепции «питон на питоне». Идея в том, что реализация пишется на языке высокого уровня, не вдаваясь в подробности платформ (в данном случае RPython). После чего запускается транслятор, который переводит код на RPython в код на языке низкого уровня — С ( ну или CLI, java...). После этого эти исходники на С собираются и получаются бинарники которые вы скачиваете на сайте pypy.org.
                    Почему к этой штуке нельзя открыть API? Почему его нельзя сделать похожим на API СPython? Бонусом является то, что будут работать расширения CPython.
                      0
                      ну вот я какраз и недопонимал концепт.
                      спасибо за пояснения.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое