Post trijara paŭzo en disvolviĝo, la lanĉo de la projekto Pyston 2 estis publikigita, kion mi disvolvisal altefika efektivigo de la Python-lingvo uzante la evoluojn de la projekto LLVM.
La efektivigo elstaras pro la uzo de modernaj JIT-kompilaj teknologioj kaj celas atingi altan rendimenton similan al tradiciaj sistemaj lingvoj kiel C ++.
La kodo de antaŭaj versioj piŝto estis distribuita sub la Apache-licenco, sed Pyston 2-kodo ankoraŭ ne haveblas kaj nur preta-uzaj versioj estas liberigitaj por Ubuntu 18.04 kaj 20.04 (dosiero kun la kodo estas elŝutebla sed ekzistas nur ĝermo kun informo, ke la projekto ankoraŭ estas fermita).
Eldoni la kodon estas parto de la planoj de la programistojsed ĉi tio fariĝos post finiĝo de komerca modelo de la nova kompanio kaj oni decidis daŭre disvolvi Pyston sen la financa subteno de Dropbox.
Pri Pyston 2
Male al antaŭaj versioj, Pyston 2 estas markita stabila kaj ne kiel prova versio. Multa laboro estis farita por optimumigi rendimenton kaj Pyston 2 nun pli rapide ol la originala Python 3.8 je ĉirkaŭ 20% dum pasado de la testaro Python-macrobenchmarks.
La plej rimarkindaj rendimentaj gajnoj vidiĝas en enecaj laborkvantoj de enretaj programoj. En apartaj testoj kiel chaos.py kaj nbody.py, Pyston 2 superas Python 3.8 per 2. La kosto de uzado de JIT estas iomete pliigita en memora konsumo.
Ni tre ĝojas eldoni Pyston v2, pli rapidan kaj tre kongruan efektivigon de la programlingvo Python. Versio 2 estas 20% pli rapida ol la norma Python 3.8 en niaj makrobenchmarkoj. Pli grave, verŝajne pli rapide en via kodo. Pyston v2 povas redukti servilajn kostojn, redukti latentojn de uzantoj kaj plibonigi produktivecon de programistoj.
Pyston v2 estas facile efektivigebla, do se vi serĉas pli bonan Python-rendimenton, ni rekomendas, ke vi prenu kvin minutojn kaj provu Pyston. Tiel fari estas unu el la plej facilaj manieroj rapidigi vian projekton.
Pri kongrueco kun denaska Python, la projekto Pyston estas reklamita kiel la plej kongrua alternativa efektivigo por CPython, ĉar Pyston estas forko de la ĉefa kodbazo de CPython.
piŝto subtenas ĉiujn funkciojn CPython, inkluzive de la API C por disvolvi etendaĵojn C. Pyston estis origine disvolvita de Dropbox, kiu en 2017 decidis ĉesigi internan disvolviĝon. Komence de 2020, la ĉefaj programistoj de Pyston fondis sian kompanion, tute reinventis la projekton kaj komencis labori ĉe Pyston plentempe.
Teknikaj detaloj pri kompletigo de Pyston 2 ankoraŭ ne estas donitaj, nur Menciita DynASM JIT, enlinia konservado kaj ĝeneralaj CPython-optimumigoj estas menciitaj. La antaŭa versio de Pyston uzis unu metodon JIT samtempe, simile al la JIT en modernaj JavaScript-motoroj.
En JIT, la Python-kodo estis analizita kaj tradukita al meza reprezento LLVM (IR, Meza reprezento). Krome, la IR-reprezentado estis prilaborita en la LLVM-optimumigilo kaj transdonita al la LLVM JIT-motoro por ekzekuto, kiu konvertis la IR-reprezentadon en maŝinkodon.
Por akiri informojn pri la specoj de variabloj por programoj en la dinamika Python-lingvo, la tekniko de probabla antaŭdiro de objektaj tipoj estis uzita, sekvita de la klarigo de la ĝusta elekto de tipo dum ekzekuto.
Tial, Pyston konstante variigis la ekzekuton inter du branĉoj: la rapida, kiam la antaŭviditaj rapidoj estas konfirmitaj, kaj la malrapida, kiu estas uzata en kazo de tipa misagordo.
La tasko povus esti plenumita per plurfadena reĝimo, permesante la paralelan plenumon de pluraj kodfadenoj en la Python-lingvo kaj senpage de la tutmonda interpretila seruro (GIL)
Fine se vi volas scii pli pri ĝi, vi povas kontroli la detalojn en la sekva ligilo.
Estu la unua por komenti