Pyston се връща от мъртвите, за да ускори Python

Разработката на Pyston, вариант на изпълнението на Python, който използва точно навреме компилация, за да ускори изпълнението на програмите на Python, отново се включва след дълъг период на неизвестност. Продължавайки там, където Dropbox спря, нов екип за разработка пусна Pyston 2.0.

Pyston осигурява това, което в крайна сметка е предназначено да бъде заместващ стандарт за изпълнение на Python, CPython. Той е съвместим с Python 3.8, така че програмите, които се изпълняват с тази версия на Python, трябва да работят както е на Pyston.

Pyston извършва генериране на код, използвайки компилация точно навреме или JITting, за да даде много от своите ускорения. Програмите Pure-Python показват най-големите подобрения, докато програмите, които използват C / C ++ модули за по-бързо изпълнение, като PyTorch, показват по-малко или никакви.

Една от целите на проекта беше да остане възможно най-близо до първоначалната реализация на CPython, тъй като много проекти на трети страни правят предположения за поведението на CPython. По този начин Pyston 2.0 започна със съществуващата кодова база CPython и добави функции от Pyston 1.0, които работеха добре, като атрибути за кеширане и JITting. JIT на Pyston вече не използва LLVM, а DynASM за директно излъчване на монтаж.

JITting е същата техника, използвана от друг проект, PyPy, за доставяне на големи ускорения на приложенията на Python - в някои случаи седем пъти по-големи от CPython. Производителите на Pyston обаче твърдят, че техният подход има няколко предимства пред PyPy, включително по-добра съвместимост с C API на CPython и по-ниска консумация на памет за често натоварване (напр. Flask и DjangoCMS).

Създаден в Dropbox, Pyston прекратява разработката си през 2017 г., когато Dropbox оттегля поддръжката. Сега проектът продължава под грижите на някои от първоначалните му разработчици, макар и независимо.

„В началото на 2020 г.,“ се казва в официалния блог на Pyston, „имаше достатъчно бройки, за да създадем компания и да работим на Pyston на пълен работен ден.“ Въпреки това, за разлика от оригиналното въплъщение на Pyston, засега новата версия е с затворен код, тъй като новите й стюарди определят техния бизнес модел. Изходният код, наличен в GitHub на проекта, изглежда е от по-ранното му въплъщение, а не от най-новата версия.

Предварително изградени двоични файлове на Pyston са налични за Ubuntu 18.04 и Ubuntu 20.04 x86_64. Екипът за разработка е готов да създаде други издания въз основа на обратна връзка с потребителите.