Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Google выпустила Grumpy для трансляции кода Python на язык программирования Go


Вас категорически приветствует автоматически сгенерированная почтовая рассылка с новостями от nixp.ru!


05.01.2017 13:40

Google выпустила Grumpy для трансляции кода Python на язык программирования Go

Вчера компания Google сообщила о выпуске экспериментальной среды исполнения кода Python на языке Go, которая получила название Grumpy.

В инфраструктуре Google задействованы миллионы строк кода на Python. Например, frontend-сервер, обслуживающий youtube.com и API этого сервиса, в основном написаны на Python и обслуживают миллионы запросы в секунду. Этот фронтенд запущен на CPython 2.7, поэтому инженеры Google выполняют «огромную работу по улучшению исполняемой среды и адаптации приложения для оптимальной работы в ней». Несмотря на то, что их усилия приносят определённые результаты, у них постоянно возникала проблема производительности в CPython при одновременном выполнении большого числа процессов. Для её решения были исследованы многие исполняемые среды Python: у каждой из них есть свои плюсы и минусы, но в итоге в Google пришли к необходимости созданию своей runtime, оптимзированной для задач реального времени. Так появился проект Grumpy.

Grumpy от Google — это не просто ещё одна исполняемая среда (runtime) для Python, но транскомпилятор кода Python в код Go. Транслированные с помощью Grumpy приложения могут без необходимости в дальнейших изменениях запускаться в среде языка Go: «Для нас было необходимо поддержать большую существующую кодовую базу Python, поэтому важно иметь высокую степень совместимости с CPython. Цель Grumpy — служить любому проекту, написанному чисто на Python, готовой заменой для среды исполнения».

У Grumpy есть некоторые ограничения — например, отсутствует поддержка модулей расширения на языке Си. Но одновременно есть и примечательные достоинства — в частности, отсутствие глобальной блокировки интерпретатора и использование сбора мусора Go для управления жизненным циклом объектов (вместо подсчёта указателей). «Мы считаем, что у Grumpy есть потенциал более гладкого масштабирования, чем с CPython, для многих реальных нагрузок», — заявляют в Google, подтверждая своё мнение результатами одного из тестов производительности (см. иллюстрацию к новости).

Исходный код Grumpy написан на языках Python и Go, опубликован на GitHub на условиях свободной лицензии Apache License 2.0.

Комментарии к новости >>




Не забудьте, что мы всегда рады вашим комментариям к новостям непосредственно на nixp.ru!


Другие способы получения новостей от nixp.ru:



В избранное