The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Второй выпуск Pyston, реализации языка Python с JIT-компилят..."
Отправлено opennews, 12-Сен-14 16:08 
Представлен (http://blog.pyston.org/2014/09/11/9/) второй  тестовый выпуск проекта Pyston (http://www.pyston.org), в рамках которого развивается реализация языка Python 2.7, созданная с использованием наработок проекта LLVM, примечательная применением современных технологий JIT-компиляции и нацеленная на достижение высокой производительности, близкой к производительности традиционных системных языков, таких как C++. Код  Pyston написан на языке C++ и распространяется (https://github.com/dropbox/pyston) под лицензией Apache. Проект развивается компанией Dropbox, в которой работает Гвидо ван Россум, создатель языка Python.


Отмечается, что проект заметно продвинулся по сравнению с первым экспериментальным выпуском. Новый выпуск ознаменовал переход на стадию альфа-тестирования. Код всё ещё не рекомендован для использования в реальных проектах, но уже успешно проходит многие тесты, обеспечивает совместимость со стандартными библиотеками и позволяет выполнять простые программы. Ключевым новшеством выпуска является поддержка экспериментального многопоточного режима  работы без глобальной блокировки интерпретатора (GIL, global interpreter lock), позволяющего обеспечить параллельное выполнение нескольких нитей кода на языке Python. Кроме того, значительно улучшена поддержка языка, в том числе обеспечена поддержка API для написания модулей на языке Си. При подготовке следующего выпуска основное внимание планируется уделить наращиванию производительности.

В отличие от проекта PyPy (https://www.opennet.ru/opennews/art.shtml?num=39759), также продвигающего идею применения JIT для ускорения выполнения Python-скриптов, в Pyston используется не трассирующий JIT, базирующийся на компиляции в машинный код часто выполняемых циклов, а применяемый в современных JavaScript-движках JIT на основе трансляции отдельных методов (method-at-a-time), который, по мнению инженеров Dropbox,  является более перспективной технологией. Принцип работы Pyston сводится к разбору кода на языке Python и его трансляции в промежуточное представление LLVM (IR, Intermediate Representation). Далее IR-представление проходит обработку в оптимизаторе LLVM и передаётся для исполнения в JIT-движок LLVM, который преобразует IR-представление в машинный код. Для получения информации о типах переменных для программ на динамическом языке Python применяется техника вероятностного предсказания типов объектов с последующим уточнением правильности выбора типа в процессе выполнения. Таким образом Pyston постоянно варьирует выполнение между двумя ветками - быстрой, когда данные о предсказанных типах подтверждаются, и медленной, используемой в случае рассогласования данных о типе.


URL: http://blog.pyston.org/2014/09/11/9/
Новость: https://www.opennet.ru/opennews/art.shtml?num=40571

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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