Pyston proiektua, Python JIT konpilatzaile batekin eskaintzen duena, garapen eredu ireki batera itzuli da

JIT konpilazio teknologia modernoak erabiliz Python lengoaiaren errendimendu handiko inplementazioa eskaintzen duen Pyston proiektuaren garatzaileek Pyston 2.2 bertsio berri bat aurkeztu zuten eta proiektuaren kode irekira itzuliko dela iragarri zuten. Inplementazioak C++ bezalako sistema-lengoaia tradizionalen ondoko errendimendu altua lortzea du helburu. Pyston 2 adarraren kodea GitHub-en argitaratzen da PSFL (Python Software Foundation License) pean, CPython lizentziaren antzera.

Gogora dezagun lehenago Pyston proiektua Dropbox-ek gainbegiratzen zuela, eta 2017an finantzaketa-garapenari utzi zion. Pyston-eko garatzaileek beren enpresa sortu zuten eta Pyston 2 adar birmoldatua kaleratu zuten, egonkortzat eta erabiltzeko prest zegoena. Aldi berean, garatzaileek iturburu-kodea argitaratzeari utzi zioten eta muntaketa bitarrak soilik eskaintzera pasatu ziren. Orain Pyston berriro kode irekiko proiektu bat egitea erabaki da, eta enpresa kode irekiko softwarearen garapenarekin lotutako negozio eredu batera pasatzea. Gainera, optimizazioak Pystonetik CPython estandarrera transferitzeko aukera aztertzen ari da.

Kontuan izan da Pyston 2.2 Python estandarra baino % 30 azkarragoa dela web zerbitzarien aplikazioen kargak ebaluatzen dituzten errendimendu probetan. Pyston 2.2-n ere errendimenduaren igoera nabarmena dago aurreko bertsioekin alderatuta, eta, batez ere, eremu berrietarako optimizazioen gehikuntzaren bidez lortu zen, baita JIT eta cache-mekanismoen hobekuntzak ere.

Errendimenduaren optimizazioez gain, bertsio berria ere interesgarria da CPython 3.8.8 adarreko aldaketak eramaten dituelako. Jatorrizko Python-ekin bateragarritasunari dagokionez, Pyston proiektua CPython-ekin bateragarrien den inplementazio alternatibo gisa planteatzen da, Pyston CPython kode-base nagusiko fork bat baita. Pyston-ek CPython-en ezaugarri guztiak onartzen ditu, C APIa barne C hizkuntzan luzapenak garatzeko. Pyston eta CPython-en arteko desberdintasun nagusien artean DynASM JIT, lineako cachea eta optimizazio orokorrak erabiltzea dago.

Pyston 2.2-ren aldaketen artean, CPython-en arazketa-eginbide askotatik kode-oinarria garbitzea ere aipatzen da, errendimenduari negatiboki eragiten diotenak, baina garatzaileen artean ia eskatzen ez direnak. Arazketa-tresnak kentzeak %2ko bizkortzea ekartzen duen estatistikak ematen dira, garatzaileen %2 inguruk funtzio hauek erabiltzen dituzten arren.

Iturria: opennet.ru

Gehitu iruzkin berria