Представлен (http://morepypy.blogspot.ru/2014/05/pypy-23-terrestrial-arth...) релиз PyPy 2.3 (http://pypy.org/), реализации языка Python, написанной на языке Python (используется статически типизированное подмножество RPython (http://doc.pypy.org/en/latest/coding-guide.html#id1), Restricted Python). Версия PyPy 2.3 примечательна переходом на использование в качестве целевой версии языка Python 2.7.6 (ранее поддерживалась 2.7.3). Кроме того, в код внесены очередные оптимизации - новый выпуск в среднем на 1.5% быстрее (http://speed.pypy.org/) прошлой версии PyPy и в 6.3 раза быстрее классического CPython 2.7. Выпуск доступен для x86-систем Linux 32/64, Mac OS X 64 и Windows 32, а также для систем на базе архитектуры ARM (ARMv6 или ARMv7 с VFPv3).<center><img src="http://www.opennet.me/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 в полтора-два раза.Новшества (http://doc.pypy.org/en/latest/release-2.3.0.html), добавленные в PyPy 2.3:
- Стандартные библиотеки Python обновлены с 2.7.3 до версии 2.7.6;
- Добавлена поддержка платформы OpenBSD;
- Улучшена работа модуля cffi (http://cffi.readthedocs.org/) с реализацией интерфейса для вызова функций, написанных на языке Си. CFFI расширен в направлении упрощения использовния существующего года на языке Си одновременно с PyPy и СPython. Упрощена трансляция для работы в PyPy таких пакетов, как криптографические модули, Pillow (форк Python Imaging Library), pygame-cffi;
- Обеспечена возможность встраивания PyPy в приложения, например, для работы внутри uWSGI;
- Проведена чистка кода, направленная на удаление устаревшего и неиспользуемого кода, а также на рефактринг значительных частей кодовой базы. Код RPython отделён от интерпретатора PyPy, что позволяет в будущем использовать RPython в других проектах;
- Поддержка библиотека для выполнения научных расчётов NumPy разделена на две части: встроенный модуль _numpy и адаптированный для работы с PyPy форк NumPy;Параллельно развиваются два экспериментальных проекта, наработки которых в скором времени войдут в состав основного дерева исходных текстов PyPy: Py3k - версия с поддержкой Python 3; STM (PyPy Software Transactional Memory) - вариант (http://www.opennet.me/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://morepypy.blogspot.ru/2014/05/pypy-23-terrestrial-arth...
Новость: http://www.opennet.me/opennews/art.shtml?num=39759
собирается он ржачно - в процессе сборки множество мандельброта в консоли рисует )))))
> На базе PyPy ведется разработка реализаций на языке Python интерпретаторов Prolog, Smalltalk, Ruby, JavaScript, Io и Scheme.про пыхпых ещё забыли упомянуть: http://hippyvm.com/
Давайте-давайте, сделаем реализацию JavaScript на PyPy, реализованном на Python... Еще реализуем Pithon в виртуальной машине реализованной на JavaScript, реализованной на PyPy, реализованной на Python. Сделаем рекурсию, нам же нехер делать больше. И пусть жрет терабайты оперативы, кого это волнует в наш век?
А главное по тестам всё равно это будет быстрее нативных наработок гугла вопреки всему!
А что, Гугл уже переманил индусов из мелкософта? Или сам открыл вербовочные центры в Индии? Вроде раньше у Гугла неплохие технологии получались.
Это которые взять Java и Linux и выпилить оттуда glibc?
Поддержка бесстекового (Stackless) режима работы, позволяющего использовать модель actor (erlang-подобное программирование с массой микропотоков и отсыланием сигналов друг другу, но при этом (в отличии от erlang) всё происходит в одном физическом потоке ОС);
В эрланге тоже в одном потоке. Точнее уж наоборот, в РуРу "тоже", а в эрланге априори.
а в чем проблема реализовать python на сях, который жрет столько сколько и этот pypy, но при этом по скорости не уступает? расовая ненависть? Другими словами, зачем оно надо?
И ведь действительно! Никаких проблем перед тобой не стоит для того, чтобы реализовать это на сях.
Тем паче, ты еще и расовой ненависти не подвержен.