டீப் மைண்ட் S6க்கான மூலக் குறியீட்டை வெளியிட்டது, இது Pythonக்கான JIT தொகுப்பாகும்

S6-ஆழ்மனம்

S6, CPython க்கான ஒரு தனியான JIT கம்பைலர் நூலகம்

ஆழ்ந்த மனம், செயற்கை நுண்ணறிவு துறையில் அதன் முன்னேற்றங்களுக்கு பெயர் பெற்றது, சமீபத்தில் அறிவித்தது S6 திட்டத்தின் மூலக் குறியீட்டை வெளியிட முடிவு செய்துள்ளது, பைதான் மொழிக்கான JIT தொகுப்பிலிருந்து அவர் உருவாக்கினார்.

திட்டம் சுவாரஸ்யமானது ஏனெனில் விரிவாக்க நூலகமாக வடிவமைக்கப்பட்டுள்ளது இது நிலையான CPython உடன் ஒருங்கிணைக்கப்படலாம் முழு CPython இணக்கத்தன்மையை வழங்குகிறது மற்றும் மாற்றம் தேவையில்லை மொழிபெயர்ப்பாளர் குறியீட்டின். இந்தத் திட்டம் 2019 ஆம் ஆண்டு முதல் வளர்ச்சியில் உள்ளது, ஆனால் துரதிர்ஷ்டவசமாக மீண்டும் அளவிடப்பட்டது மற்றும் இனி வளர்ச்சியில் இல்லை.

S6 என்பது 2019 ஆம் ஆண்டில் டீப் மைண்டில் தொடங்கப்பட்ட திட்டமாகும், இது CPython ஐ விரைவுபடுத்துவதற்கு சரியான நேரத்தில் ("JIT") தொகுப்பாகும். இந்த செயல்பாடுகள் ஒரு சாதாரண பைதான் நூலகமாக வழங்கப்படும் மற்றும் CPython மொழிபெயர்ப்பாளருக்கு எந்த மாற்றமும் தேவையில்லை. ஜாவாஸ்கிரிப்ட்டுக்கு V6 செய்ததை S8 பைத்தானுக்குச் செய்ய எண்ணியது (இந்தப் பெயர் V8க்கு ஒரு மரியாதை). இந்த வேலை CPython பதிப்பு 3.7 ஐ அடிப்படையாகக் கொண்டது. பணிச்சுமையைப் பொறுத்து, பொதுவான அளவுகோல்களில் 9.5x வேகத்தை நாங்கள் கண்டோம்.

மூலக் குறியீட்டை வெளியிட முடிவு செய்ததற்கான முக்கிய காரணம், அவற்றில் ஒன்று மற்றும் ஏற்கனவே குறிப்பிட்டுள்ளபடி, திட்டத்திற்கு ஆதரவு இல்லை என்பதுதான், மற்றொரு முக்கிய காரணம், உருவாக்கப்பட்ட முன்னேற்றங்களின் அடிப்படையில், இவை இன்னும் பைத்தானை மேம்படுத்த பயனுள்ளதாக இருக்கும். .

உள்நாட்டில் S6 இல் வேலை செய்வதை நிறுத்திவிட்டோம். எனவே, இந்த களஞ்சியம் காப்பகப்படுத்தப்பட்டுள்ளது, நாங்கள் இழுக்க கோரிக்கைகள் அல்லது சிக்கல்களை ஏற்கவில்லை. பைதான் சமூகத்தில் உரையாடல்களைத் தூண்டுவதற்கும், பைத்தானை மேம்படுத்துவதற்கான எதிர்காலப் பணிகளுக்கு ஊக்கமளிப்பதற்கும் நாங்கள் திறந்த மூலத்திலிருந்து ஒரு வடிவமைப்பு மேலோட்டத்தை கீழே வழங்கியுள்ளோம்.

S6 இன் செயல்பாட்டைப் பற்றி, நாம் அதைக் குறிப்பிட வேண்டும் Python க்கான S6 ஜாவாஸ்கிரிப்ட்டுக்கான V8 இன்ஜினுடன் ஒப்பிடுகிறது பணிகளின் அடிப்படையில் அது தீர்க்கிறது. தற்போதுள்ள ceval.c பைட்கோட் மொழிபெயர்ப்பான் இயக்கியை நூலகம் அதன் சொந்த செயலாக்கத்துடன் மாற்றுகிறது, இது செயல்படுத்தலை விரைவுபடுத்த JIT தொகுப்பைப் பயன்படுத்துகிறது.

தற்போதைய செயல்பாடு ஏற்கனவே தொகுக்கப்பட்டதா என்பதை S6 சரிபார்க்கிறது மற்றும், அப்படியானால், தொகுக்கப்பட்ட குறியீட்டை இயக்குகிறது, இல்லையெனில், CPython மொழிபெயர்ப்பாளரைப் போன்ற ஒரு பைட்கோட் விளக்கம் பயன்முறையில் செயல்பாட்டை செயல்படுத்துகிறது. செயலாக்கப்படும் செயல்பாட்டுடன் தொடர்புடைய செயல்படுத்தப்பட்ட அறிக்கைகள் மற்றும் அழைப்புகளின் எண்ணிக்கையை விளக்கம் கணக்கிடுகிறது.

ஒரு குறிப்பிட்ட மைல்கல்லை அடைந்த பிறகு, குறியீட்டை விரைவுபடுத்த உருவாக்க செயல்முறை தொடங்கப்படுகிறது அடிக்கடி இயங்கும். ஸ்ட்ராங்ஜிட் இடைநிலை பிரதிநிதித்துவத்தில் தொகுத்தல் செய்யப்படுகிறது, இது தேர்வுமுறைக்குப் பிறகு, asmjit நூலகத்தைப் பயன்படுத்தி இலக்கு கணினி இயந்திர வழிமுறைகளாக மாற்றப்படுகிறது.

சுமையின் தன்மையைப் பொறுத்து, உகந்த நிலைமைகளின் கீழ், வழக்கமான CPython உடன் ஒப்பிடும்போது 6x வரை சோதனைச் செயலாக்க வேகத்தில் S9,5 அதிகரிப்பு உள்ளது.

100 மறு செய்கைகள் செயல்படுத்தப்படும் போது ரிச்சர்ட்ஸ் சோதனை தொகுப்பிலிருந்து, 7 மடங்கு முடுக்கம் உள்ளது, மேலும் நிறைய கணிதம் அடங்கிய Raytrace சோதனையை இயக்கும் போது, ​​அது 3 முதல் 4,5 மடங்கு வேகமாக இருக்கும்.

மேம்படுத்த கடினமாக இருக்கும் பணிகள் S6 உடன் C API ஐப் பயன்படுத்தும் திட்டங்களாகும், NumPy போன்றவை, அத்துடன் அதிக எண்ணிக்கையிலான மதிப்புகளின் வகைகளைச் சரிபார்க்க வேண்டிய அவசியம் தொடர்பான செயல்பாடுகள்.

ஒற்றை செயல்பாட்டு அழைப்புகளுக்கும் மோசமான செயல்திறன் காணப்படுகிறது S6 பைதான் மொழிபெயர்ப்பாளரின் மேம்படுத்தப்படாத செயலாக்கத்தைப் பயன்படுத்துவதன் காரணமாக இது நிறைய வளங்களைப் பயன்படுத்துகிறது (வளர்ச்சி விளக்கம் பயன்முறை மேம்படுத்தல் நிலையை எட்டவில்லை).

எடுத்துக்காட்டாக, அன்பேக் சீக்வென்ஸ் சோதனையில், பெரிய அளவிலான வரிசைகள்/டூப்பிள்களைத் திறக்கும், ஒரு அழைப்பு 5 மடங்கு வரை மந்தநிலையைக் காட்டுகிறது, மேலும் ஒரு சுழற்சி அழைப்பு CPython இலிருந்து 0,97 பெறுகிறது.

இறுதியாக இதைப் பற்றி மேலும் அறிய ஆர்வமுள்ளவர்களுக்கு, JIT கம்பைலர் குறியீடு C++ இல் எழுதப்பட்டுள்ளது மற்றும் தற்போது CPython 3.7 ஐ அடிப்படையாகக் கொண்டது என்பதை நீங்கள் அறிந்திருக்க வேண்டும், மேலும் மூலக் குறியீடு ஏற்கனவே Apache 2.0 உரிமத்தின் கீழ் திறக்கப்பட்டுள்ளது மற்றும் ஆலோசனையைப் பெறலாம். கீழே உள்ள இணைப்பிலிருந்து.


கருத்து தெரிவிப்பதில் முதலில் இருங்கள்

உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.