Google публикува в открит вид кода на проекта Grumpy, в рамките на който се създава експериментален Python runtime за програмния език Go.

Grumpy осигурява транслирането на сорс кода, написан на Python към езика за програмиране Go и дава възможност за безпроблемно стартиране на Python програмите в runtime средата на Go. Интернет гигантът подчертава, че една от целите на проекта е осигуряване на пълноценна съвместимост със CPython и цялостно транслиране и изпълнение на софтуерните проекти, написани на Python. Самият код на транслатора е написан на Python и се разпространява с Apache 2.0 лиценз.

Grumpy е предназначен пред всичко за прозрачна замяна на CPython 2.7 и изцяло решава проблемите на CPython в паралелната обработка на данните. Grumpy не формира двоичен код и не използва виртуална машина. Той генерира сорс код на Go, който след това се компилира от компилатора на Go. След компилацията се получават типичните за Python структури данни, които са оптимизирана за лесно мащабиране и масова паралелна работа с данните.

Grumpy изцяло премахва ключовия проблем на Python – глобалното блокиране на интерпретатора (GIL, Global Interpreter Lock), който не допуска паралелното изпълнение на няколко нишки код и няколко процеса. В съчетание с компилацията се постига съществено по-висока производителност.

0 0 глас
Оценете статията
Абонирай се
Извести ме за
guest
0 Коментара
Отзиви
Всички коментари