Pyston-lite፣ JIT compiler for stock Python አስተዋወቀ

ዘመናዊ የጂአይቲ ማጠናቀር ቴክኖሎጂዎችን የሚጠቀም የፓይዘን ቋንቋ ከፍተኛ አፈጻጸምን የሚያቀርበው የፒስተን ፕሮጀክት አዘጋጆች የፒስቶን-ላይት ኤክስቴንሽን ለሲፒታይን የጂአይቲ ማጠናቀቂያ ትግበራ አስተዋውቀዋል። ፒስተን የCPython codebase ቅርንጫፍ ከሆነ እና ለብቻው የሚዳብር ከሆነ፣ ፒስቶን-ላይት ከመደበኛው የፓይዘን አስተርጓሚ (ሲፒቶን) ጋር ለመገናኘት የተነደፈ ሁለንተናዊ ቅጥያ ሆኖ ተዘጋጅቷል።

Pyston-lite የ PIP ወይም Conda ጥቅል አስተዳዳሪን በመጠቀም ተጨማሪ ቅጥያ በመጫን አስተርጓሚውን ሳይቀይሩ መሰረታዊ የፒስተን ቴክኖሎጂዎችን እንዲጠቀሙ ይፈቅድልዎታል። ፒስቶን-ላይት አስቀድሞ በPyPI እና Conda ማከማቻዎች ውስጥ ተስተናግዷል፣ እና ለመጫን፣ "pip install pyston_lite_autoload" ወይም "conda install pyston_lite_autoload -c pyston" የሚለውን ትዕዛዝ ብቻ ያሂዱ። ሁለት ፓኬጆች ይመከራሉ፡ pyston_lite (JIT በቀጥታ) እና pyston_lite_autoload (የፓይዘንን ሂደት ሲጀምር ጂአይቲ በራስ ሰር ይተካል)። እንዲሁም የpyston_lite.enable() ተግባርን በመጠቀም የአውቶ ሎድ ሞጁሉን ሳይጭኑ JITን ከመተግበሪያው ውስጥ ማንቃትን በፕሮግራም መቆጣጠር ይቻላል።

ምንም እንኳን ፒስተን-ላይት በፒስተን ውስጥ ያሉትን ሁሉንም ማሻሻያዎች ባይሸፍንም ፣ እሱን መጠቀም በመደበኛው Python 10 በግምት ከ25-3.8% የአፈፃፀም ማሻሻያዎችን ያስከትላል። ለወደፊቱ፣ በPyston ውስጥ ያሉትን አብዛኛዎቹን ማመቻቸት ወደ Pyston-lite፣ እንዲሁም የሚደገፉትን የCPython ስሪቶችን ለማስፋት አቅደናል (የመጀመሪያው እትም Python 3.8ን ብቻ ነው የሚደግፈው)። ከዓለም አቀፋዊ ዕቅዶች መካከል፣ ከCPython ቡድን ጋር ለጂአይቲ አዲስ ኤፒአይዎችን በመተግበር ላይ የፓይዘንን ሥራ የበለጠ ሙሉ ቁጥጥር ለማድረግ የሚያስችል የጋራ ሥራ አለ። በ Python 3.12 ቅርንጫፍ ውስጥ የታቀዱትን ለውጦች ማካተት መወያየት። በሐሳብ ደረጃ፣ ሁሉንም ተግባራት ከፒስተን ወደ ማራዘሚያ የማስተላለፍ እድሉ ግምት ውስጥ ይገባል፣ ይህም የራሳችንን የሲፒቶን ሹካ ከመጠበቅ እንድንርቅ ያስችለናል።

ከPyston-lite በተጨማሪ፣ ፕሮጀክቱ አዲስ ማሻሻያዎችን የሚያካትት የሙሉ የPyston 2.3.4 ጥቅል ማሻሻያ አውጥቷል። በ pyperformance ሙከራ፣ ስሪት 2.3.4 ከተለቀቀው 2.3.3 በ6% ገደማ ፈጣን ነው። ከCPython በላይ ያለው አጠቃላይ የአፈጻጸም ትርፍ በ66 በመቶ ይገመታል።

በተጨማሪም ፣ በዋናው ፕሮጀክት ውስጥ በ CPython 3.11 የእድገት ዑደት ማዕቀፍ ውስጥ የተሻሻሉ ማሻሻያዎችን እናስተውላለን ፣ ይህም በአንዳንድ ሙከራዎች አፈፃፀሙን በ 25% ለማሳደግ አስችሎናል ። ለምሳሌ ፣ በ CPython 3.11 ፣ የቤዝ ሞጁሎች ባይትኮድ ሁኔታን የመሸጎጫ ውጤታማነት ተሻሽሏል ፣ ይህም የስክሪፕቶችን መጀመር ከ10-15% ያፋጥናል። የተግባር ጥሪዎች በከፍተኛ ሁኔታ የተፋጠኑ እና ልዩ የሆኑ ፈጣን ተርጓሚዎች ተጨምረዋል። በሲንደር እና ሆትፒ ፕሮጄክቶች የተዘጋጁ አንዳንድ ማሻሻያዎችን ወደፖርት ለማቅረብም እየተሰራ ነው።

በተጨማሪም ፣ በ nogil ፕሮጀክት ማዕቀፍ ውስጥ ፣ ያለ ዓለም አቀፍ አስተርጓሚ ቁልፍ (ጂኤል ፣ ግሎባል አስተርጓሚ መቆለፊያ) በሙከራ ሲፒቶን ግንባታ ሁነታ ላይ እየተሰራ ነው ፣ ይህም ከተለያዩ ክሮች የተጋሩ ዕቃዎችን በትይዩ መድረስን አይፈቅድም ፣ ይህም የኦፕሬሽኖችን ትይዩ እንዳይሆን ይከላከላል ። በባለብዙ-ኮር ስርዓቶች ላይ. ከጂአይኤል ጋር ላለው ችግር ሌላ መፍትሄ፣ በሂደት ውስጥ ለሚሰራ እያንዳንዱ አስተርጓሚ የተለየ ጂአይኤልን የማሰር ችሎታ እየጎለበተ ነው (በርካታ ተርጓሚዎች በአንድ ሂደት ውስጥ ሊሰሩ ይችላሉ፣ ነገር ግን የትይዩ አፈፃፀማቸው ውጤታማነት በጂአይኤል ላይ ነው)።

ምንጭ: opennet.ru

አስተያየት ያክሉ