TECH · 05 января 2017, 19:22 · Отдел информации dev.by
Google создала Grumpy — транскомпилятор Python в Go

Google открыл исходный код проекта Grumpy, транскомпилятора Python в Go. Разработка создавалась для ускорения работы YouTube, пишет Computing.

Иллюстрация: dev.by

Необходимость разработки подобного инструмента появилась из-за желания Google улучшить работу YouTube. Большой проблемой оказалось эффективное выполнение множества параллельных задач в CPython (написанном на C стандартном интерпретаторе Python), с которым работает фронтенд видеосервиса, обрабатывающий миллионы запросов в секунду.

«Мы спросили себя: а что если создать альтернативную среду, оптимизированную для работы в реальном времени? Go показалась идеальной платформой для этого, потому что её характеристики подходят поставленной задаче», — рассказывает инженер YouTube Engineering Дилан Троттер.

Grumpy переводит код на Python в программы Go, которые отлично работают в собственной среде выполнения. Компании нужно было обеспечить высокую степень совместимости нового кода с CPython, чтобы Grumpy мог быстро стать новой средой для любого проекта, написанного на чистом Python.

В связи с этим Google пришлось пойти на две уступки. Во-первых, сервис лишился поддержки модулей расширений языка C. Во-вторых, Grumpy не интерпретатор — программы компилируются и связываются как любой Go-проект. C другой стороны, Grumpy способен импортировать как пакеты Go, так и модули Python.

Стоит отметить, что успех проекта среди Python-сообщества зависит от того, как быстро и качественно команда Google решит существующие проблемы. Одна из них — поддержка только старого синтаксиса Python 2.x, который теряет свою актуальность и лишится официальной поддержки к 2020 году.

Троттер согласен с наличием вопросов и отмечает, что, хотя код Grumpy и выпущен «в народ», проект остаётся на альфа-стадии и содержит много недоработок, искоренением которых занимается команда разработки.

Источник: dev.by
Вакансии


Авторизуйтесь, чтобы оставлять комментарии

© 2008-2017 Частное предприятие "Дев Бай"
Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси