Programování

Pyston se vrací z mrtvých, aby urychlil Python

Vývoj Pystonu, varianty běhového prostředí Pythonu, který využívá kompilaci just-in-time k urychlení provádění programů Pythonu, je po dlouhé době limbu opět zapnutý. Nový vývojový tým vydal Pyston 2.0 tam, kde Dropbox přestal.

Pyston poskytuje to, co je v konečném důsledku zamýšleno jako náhrada za standardní běhový modul Python, CPython. Je kompatibilní s Pythonem 3.8, takže programy, které běží s touto verzí Pythonu, by měly na Pystonu běžet tak, jak jsou.

Pyston provádí generování kódu pomocí kompilace just-in-time neboli JITting, aby získal mnoho zrychlení. Programy Pure-Python vykazují největší vylepšení, zatímco programy, které používají moduly C / C ++ pro rychlejší spuštění, jako je PyTorch, ukazují méně nebo žádné.

Jedním z cílů projektu bylo zůstat co nejblíže původní implementaci CPythonu, protože mnoho projektů třetích stran předpokládá chování CPython. Proto Pyston 2.0 začal s existující základnou kódu CPython a přidal funkce z Pystonu 1.0, které fungovaly dobře, jako jsou atributy ukládání do mezipaměti a JITting. Pystonův JIT již nepoužívá LLVM, ale DynASM k přímému vysílání sestavy.

JITting je stejná technika, jakou používá jiný projekt, PyPy, k doručování velkých zrychlení aplikacím Pythonu - v některých případech sedmkrát to, co CPython dokáže. Tvůrci společnosti Pyston však tvrdí, že jejich přístup má oproti PyPy několik výhod, včetně lepší kompatibility s C API CPython a nižší spotřeby paměti pro běžné pracovní zátěže (např. Flask a DjangoCMS).

Společnost Pyston, která byla vytvořena v Dropboxu, ukončila vývoj v roce 2017, kdy Dropbox zrušil podporu. Nyní projekt pokračuje v péči některých původních vývojářů, i když samostatně.

„Na začátku roku 2020,“ uvádí oficiální blog společnosti Pyston, „bylo k dispozici dostatek kusů pro to, abychom založili společnost a pracovali na Pystonu na plný úvazek.“ Na rozdíl od původní inkarnace Pystonu je však nová verze zatím uzavřeným zdrojem, protože její noví správci určují jejich obchodní model. Zdrojový kód dostupný na GitHubu projektu pochází z jeho dřívější inkarnace, nikoli z nejnovější verze.

Předem připravené binární soubory Pystonu jsou k dispozici pro Ubuntu 18.04 a Ubuntu 20.04 x86_64. Vývojový tým je ochoten sestavit další edice na základě zpětné vazby od uživatelů.