Nuitka 2.0 ప్రాజెక్ట్ యొక్క విడుదల అందుబాటులో ఉంది, పైథాన్ స్క్రిప్ట్లను C ప్రాతినిధ్యంగా అనువదించడానికి కంపైలర్ను అభివృద్ధి చేస్తుంది, ఇది CPythonతో గరిష్ట అనుకూలత కోసం libpython ఉపయోగించి ఎక్జిక్యూటబుల్ ఫైల్గా కంపైల్ చేయబడుతుంది (వస్తువులను మార్చడానికి స్థానిక CPython సాధనాలను ఉపయోగించడం). పైథాన్ 2.6, 2.7, 3.3 - 3.11 యొక్క ప్రస్తుత విడుదలలతో పూర్తి అనుకూలతను అందించింది. CPythonతో పోలిస్తే, కంపైల్డ్ స్క్రిప్ట్లు పైస్టోన్ పరీక్షలలో 335% పనితీరు మెరుగుదలని చూపుతాయి. ప్రాజెక్ట్ కోడ్ అపాచీ లైసెన్స్ క్రింద పంపిణీ చేయబడింది.
కొత్త సంస్కరణలో మార్పులలో:
- ప్యాకేజీ కాన్ఫిగరేషన్లో వేరియబుల్స్ను ఉపయోగించగల సామర్థ్యం జోడించబడింది, కంపైల్ సమయంలో ఇన్స్టాల్ చేయబడిన ప్యాకేజీల నుండి విలువలను ప్రశ్నించడానికి మరియు బ్యాకెండ్ను నిర్వచించడానికి ఆ విలువలను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. కాన్ఫిగరేషన్లోని వేరియబుల్స్కు మద్దతు గతంలో కనెక్ట్ చేయడానికి ప్లగిన్లను అవసరమైన ప్రామాణిక మార్గాల్లో అనేక పనులను పరిష్కరించడానికి మిమ్మల్ని అనుమతిస్తుంది.
- ప్రతి ప్యాకేజీ యొక్క కాన్ఫిగరేషన్ను ప్రభావితం చేయడానికి వినియోగదారు నిర్వచించిన పారామితులకు మద్దతు జోడించబడింది. కొత్త get_parameter ఫంక్షన్ని ఉపయోగించి పారామితులను చదవవచ్చు మరియు మాడ్యూల్స్ యొక్క ప్రవర్తనను ఎంచుకోవడానికి ఉపయోగించవచ్చు (ఉదాహరణకు, మీరు Numba JIT లేదా Torch JITని నిలిపివేయడానికి ఒక పరామితిని సెట్ చేయవచ్చు).
- కాన్ఫిగరేషన్లో నిర్వచించబడిన డేటా ఫైల్ టెంప్లేట్లను పేర్కొనడానికి "--include-onefile-external-data" ఎంపిక జోడించబడింది, అయితే onefile మోడ్లో నిర్మించేటప్పుడు తప్పనిసరిగా ఎక్జిక్యూటబుల్ ఫైల్ నుండి విడిగా సరఫరా చేయాలి.
- GCCలో CFI (కంట్రోల్ ఫ్లో ఇంటిగ్రిటీ) రక్షణ మోడ్ను సెట్ చేయడానికి “--cf-protection” ఎంపిక జోడించబడింది, ఇది సాధారణ అమలు క్రమం (నియంత్రణ ప్రవాహం) ఉల్లంఘనలను బ్లాక్ చేస్తుంది.
- ప్లగ్ఇన్ yaml ఫైల్ల కోసం, సమగ్రత తనిఖీల కోసం చెక్సమ్లను సృష్టించే సామర్థ్యం అమలు చేయబడింది, భవిష్యత్తులో వారు రన్-టైమ్ వెరిఫికేషన్ను నిర్వహించడానికి వీటిని ఉపయోగించాలని ప్లాన్ చేస్తున్నారు.
- పంక్తుల ద్వారా వేరు చేయబడిన బహుళ ఎంపికలను పేర్కొనడానికి చర్యలు అనుమతిస్తుంది (కొత్త పంక్తి డీలిమిటర్గా ఉపయోగించబడుతుంది). ఉదాహరణకు: include-data-dir: | a=bc=d
- లూప్ రకాల విశ్లేషణ అమలు చేయబడింది, ఇది ఎంపిక చేసిన ఆప్టిమైజేషన్లను అమలు చేయడానికి భవిష్యత్తులో ఉపయోగించబడుతుంది.
- భాగస్వామ్యం చేయని మరియు తప్పించుకున్న వేరియబుల్లతో పనిని వేగవంతం చేయడానికి ఆప్టిమైజేషన్లు జోడించబడ్డాయి.
- యాంటీ-బ్లోట్ ప్లగ్ఇన్ యొక్క సామర్థ్యాలు విస్తరించబడ్డాయి, ఇప్పుడు స్ట్రీమ్లిట్, టార్చ్, knetworkx, డిస్ట్రిబ్యూటెడ్, స్కిమేజ్, బిట్సాండ్బైట్లు, tf_keras, pip, networkx మరియు pywt లైబ్రరీలను (ప్రాథమికంగా, బైండింగ్) ఉపయోగిస్తున్నప్పుడు ప్యాకెట్ల సంఖ్యను తగ్గించడానికి ఇది ఉపయోగించబడుతుంది. పైటెస్ట్, IPython, ముక్కు, ట్రిటాన్ మినహాయించబడింది మరియు డాస్క్).
మూలం: opennet.ru