Pyston-lite, స్టాక్ పైథాన్ కోసం JIT కంపైలర్ పరిచయం చేయబడింది

ఆధునిక JIT సంకలన సాంకేతికతలను ఉపయోగించే పైథాన్ భాష యొక్క అధిక-పనితీరు అమలును అందించే పైస్టన్ ప్రాజెక్ట్ యొక్క డెవలపర్లు, CPython కోసం JIT కంపైలర్‌ను అమలు చేయడంతో Pyston-lite పొడిగింపును ప్రవేశపెట్టారు. పైస్టన్ CPython కోడ్‌బేస్ యొక్క శాఖ మరియు విడిగా అభివృద్ధి చెందితే, Python-lite అనేది సాధారణ పైథాన్ ఇంటర్‌ప్రెటర్ (CPython)కి కనెక్ట్ చేయడానికి రూపొందించబడిన యూనివర్సల్ ఎక్స్‌టెన్షన్‌గా రూపొందించబడింది.

PIP లేదా కొండా ప్యాకేజీ మేనేజర్‌ని ఉపయోగించి అదనపు పొడిగింపును ఇన్‌స్టాల్ చేయడం ద్వారా ఇంటర్‌ప్రెటర్‌ను మార్చకుండా ప్రాథమిక Pyston సాంకేతికతలను ఉపయోగించడానికి Pyston-lite మిమ్మల్ని అనుమతిస్తుంది. PyPI మరియు కాండా రిపోజిటరీలలో Pyton-lite ఇప్పటికే హోస్ట్ చేయబడింది మరియు ఇన్‌స్టాల్ చేయడానికి, "pip install pyston_lite_autoload" లేదా "conda install pyston_lite_autoload -c pyston" ఆదేశాన్ని అమలు చేయండి. రెండు ప్యాకేజీలు సూచించబడ్డాయి: pyston_lite (JIT నేరుగా) మరియు pyston_lite_autoload (పైథాన్ ప్రక్రియను ప్రారంభించేటప్పుడు ఆటోమేటిక్ JIT ప్రత్యామ్నాయం చేస్తుంది). pyston_lite.enable() ఫంక్షన్‌ని ఉపయోగించి ఆటోలోడ్ మాడ్యూల్‌ను ఇన్‌స్టాల్ చేయకుండా అప్లికేషన్‌లోనే JITని ఎనేబుల్ చేయడాన్ని ప్రోగ్రామాత్మకంగా నియంత్రించడం కూడా సాధ్యమే.

పైస్టన్‌లో అందుబాటులో ఉన్న అన్ని ఆప్టిమైజేషన్‌లను పైస్టన్-లైట్ కవర్ చేయనప్పటికీ, దీన్ని ఉపయోగించడం వల్ల సాధారణ పైథాన్ 10 కంటే 25-3.8% పనితీరు మెరుగుదలలు సాధ్యమవుతాయి. భవిష్యత్తులో, మేము Pystonలో ఉన్న చాలా ఆప్టిమైజేషన్‌లను Pyston-liteకి పోర్ట్ చేయడానికి ప్లాన్ చేస్తున్నాము, అలాగే CPython యొక్క మద్దతు ఉన్న సంస్కరణలను విస్తరించేందుకు ప్లాన్ చేస్తాము (మొదటి విడుదల పైథాన్ 3.8కి మాత్రమే మద్దతు ఇస్తుంది). మరిన్ని గ్లోబల్ ప్లాన్‌లలో, JIT కోసం కొత్త APIల అమలుపై CPython బృందంతో ఉమ్మడి పని ఉంది, ఇది పైథాన్ పనిపై మరింత పూర్తి నియంత్రణను అనుమతిస్తుంది. పైథాన్ 3.12 శాఖలో ప్రతిపాదిత మార్పులను చేర్చడం గురించి చర్చిస్తోంది. ఆదర్శవంతంగా, Pyston నుండి ఒక పొడిగింపుకు అన్ని కార్యాచరణలను బదిలీ చేసే అవకాశం పరిగణించబడుతుంది, ఇది CPython యొక్క మా స్వంత ఫోర్క్‌ను నిర్వహించకుండా దూరంగా ఉండటానికి అనుమతిస్తుంది.

Pyston-liteతో పాటుగా, ప్రాజెక్ట్ పూర్తిస్థాయి Pyston 2.3.4 ప్యాకేజీకి నవీకరణను కూడా విడుదల చేసింది, ఇందులో కొత్త ఆప్టిమైజేషన్లు ఉన్నాయి. పైపెర్ఫార్మెన్స్ పరీక్షలో, వెర్షన్ 2.3.4 విడుదల 2.3.3 కంటే దాదాపు 6% వేగంగా ఉంటుంది. CPython కంటే మొత్తం పనితీరు లాభం 66%గా అంచనా వేయబడింది.

అదనంగా, మేము ప్రధాన ప్రాజెక్ట్‌లో CPython 3.11 డెవలప్‌మెంట్ సైకిల్ యొక్క ఫ్రేమ్‌వర్క్‌లో అభివృద్ధి చేసిన ఆప్టిమైజేషన్‌లను గమనించవచ్చు, ఇది కొన్ని పరీక్షలలో పనితీరును 25% పెంచడానికి మాకు అనుమతి ఇచ్చింది. ఉదాహరణకు, CPython 3.11లో, బేస్ మాడ్యూల్స్ యొక్క బైట్‌కోడ్ యొక్క స్థితిని కాషింగ్ చేసే సామర్థ్యం మెరుగుపరచబడింది, ఇది స్క్రిప్ట్‌ల ప్రారంభాన్ని 10-15% వేగవంతం చేస్తుంది. ఫంక్షన్ కాల్‌లు గణనీయంగా వేగవంతం చేయబడ్డాయి మరియు విలక్షణమైన కార్యకలాపాలకు ప్రత్యేకమైన ఫాస్ట్ ఇంటర్‌ప్రెటర్‌లు జోడించబడ్డాయి. Cinder మరియు HotPy ప్రాజెక్ట్‌ల ద్వారా తయారు చేయబడిన కొన్ని ఆప్టిమైజేషన్‌లను పోర్ట్ చేయడానికి కూడా పని జరుగుతోంది.

అదనంగా, నోగిల్ ప్రాజెక్ట్ యొక్క ఫ్రేమ్‌వర్క్‌లో, గ్లోబల్ ఇంటర్‌ప్రెటర్ లాక్ (GIL, గ్లోబల్ ఇంటర్‌ప్రెటర్ లాక్) లేకుండా ప్రయోగాత్మక CPython బిల్డ్ మోడ్‌లో పని జరుగుతోంది, ఇది వివిధ థ్రెడ్‌ల నుండి భాగస్వామ్య వస్తువులకు సమాంతర ప్రాప్యతను అనుమతించదు, ఇది కార్యకలాపాల సమాంతరీకరణను నిరోధిస్తుంది. బహుళ-కోర్ సిస్టమ్‌లపై. GILతో ఉన్న సమస్యకు మరొక పరిష్కారంగా, ఒక ప్రక్రియలో నడుస్తున్న ప్రతి వ్యాఖ్యాతకు ప్రత్యేక GILని బంధించే సామర్థ్యం అభివృద్ధి చేయబడుతోంది (అనేక మంది వ్యాఖ్యాతలు ఒక ప్రక్రియలో అమలు చేయబడవచ్చు, కానీ వారి సమాంతర అమలు యొక్క ప్రభావం GILపై ఆధారపడి ఉంటుంది).

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి