ஃபேஸ்புக் பக்2 பில்ட் சிஸ்டத்தை வெளியிட்டது

ஃபேஸ்புக், பல்வேறு நிரலாக்க மொழிகளில் குறியீடு உட்பட மிகப் பெரிய களஞ்சியங்களில் இருந்து திட்டங்களை உருவாக்குவதை நோக்கமாகக் கொண்ட புதிய உருவாக்க அமைப்பை, பக்2 அறிமுகப்படுத்தியது. Facebook இல் முன்னர் பயன்படுத்தப்பட்ட புதிய செயலாக்கத்திற்கும் பக் அமைப்புக்கும் இடையே உள்ள முக்கிய வேறுபாடுகள் ஜாவாவிற்குப் பதிலாக ரஸ்ட் மொழியைப் பயன்படுத்துவது மற்றும் அசெம்பிளி செயல்முறையின் செயல்திறன் மற்றும் உற்பத்தித்திறனில் குறிப்பிடத்தக்க அதிகரிப்பு (அதே உள்கட்டமைப்பில் உள்ள உள் சோதனைகளில், பக்2 அசெம்பிளி செய்கிறது. பக்கை விட இரண்டு மடங்கு வேகமாக பணிகள்). இந்த குறியீடு அப்பாச்சி 2.0 உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

இந்த அமைப்பு குறிப்பிட்ட மொழிகளில் குறியீட்டின் அசெம்பிளியுடன் இணைக்கப்படவில்லை மற்றும் C++, Python, Rust, Kotlin, Erlang, Swift, Objective-C, Haskell மற்றும் OCaml ஆகிய மொழிகளில் எழுதப்பட்ட திட்டங்களின் தொகுப்பை பெட்டிக்கு வெளியே ஆதரிக்கிறது. , பேஸ்புக் பயன்படுத்தியது. பைத்தானை அடிப்படையாகக் கொண்ட ஸ்டார்லார்க் மொழி (பேசலில் உள்ளதைப் போல), துணை நிரல்களை வடிவமைக்கவும், ஸ்கிரிப்டுகள் மற்றும் விதிகளை உருவாக்கவும் பயன்படுத்தப்படுகிறது. அசெம்பிளி அமைப்பின் திறன்களை விரிவுபடுத்தவும், கூடியிருந்த திட்டங்களில் பயன்படுத்தப்படும் குறிப்பிட்ட மொழிகளிலிருந்து சுருக்கவும் ஸ்டார்லார்க் உங்களை அனுமதிக்கிறது.

முடிவுகளை கேச்சிங் செய்தல், வேலையை இணையாகச் செய்தல் மற்றும் பணிகளின் தொலைநிலைச் செயலாக்கத்திற்கான ஆதரவு (ரிமோட் பில்ட் எக்சிகியூஷன்) மூலம் உயர் செயல்திறன் அடையப்படுகிறது. சட்டசபை சூழலில், “ஹெர்மெடிசிட்டி” என்ற கருத்து பயன்படுத்தப்படுகிறது - கூடியிருந்த குறியீடு வெளி உலகத்திலிருந்து துண்டிக்கப்படுகிறது, சட்டசபை செயல்பாட்டின் போது வெளியில் இருந்து எதுவும் ஏற்றப்படாது, மேலும் வெவ்வேறு அமைப்புகளில் வேலைகளை மீண்டும் மீண்டும் செயல்படுத்துவது ஒரே முடிவுக்கு வழிவகுக்கும் ( மீண்டும் மீண்டும் கூட்டங்கள், எடுத்துக்காட்டாக, டெவலப்பரின் கணினியில் ஒரு திட்டத்தை அசெம்பிள் செய்வதன் விளைவாக, தொடர்ச்சியான ஒருங்கிணைப்பு சேவையகத்தின் உருவாக்கத்திற்கு முற்றிலும் ஒத்ததாக இருக்கும்). சார்பு இல்லாத சூழ்நிலை பக்2 இல் பிழையாகக் கருதப்படுகிறது.

Buck2 இன் முக்கிய அம்சங்கள்:

  • நிரலாக்க மொழிகளை ஆதரிப்பதற்கான விதிகள் மற்றும் சட்டசபை அமைப்பின் மையமானது முற்றிலும் தனித்தனியாக உள்ளன. விதிகள் ஸ்டார்லார்க் மொழியைப் பயன்படுத்துகின்றன, மேலும் ஸ்டார்லார்க் கருவித்தொகுப்பு மற்றும் செயல்படுத்தல் ரஸ்டில் எழுதப்பட்டுள்ளது.
  • அசெம்பிளி சிஸ்டம் ஒற்றை அதிகரிக்கும் சார்பு வரைபடத்தை (நிலைகளாகப் பிரிக்காமல்) பயன்படுத்துகிறது, இது பக் மற்றும் பாஸலுடன் ஒப்பிடும்போது வேலையின் இணையான ஆழத்தை அதிகரிக்கவும் பல வகையான பிழைகளைத் தவிர்க்கவும் அனுமதிக்கிறது.
  • GitHub இல் வெளியிடப்பட்ட Buck2 குறியீடு மற்றும் நிரலாக்க மொழிகளை ஆதரிப்பதற்கான விதிகள் Facebook உள்கட்டமைப்பில் பயன்படுத்தப்படும் உள் பதிப்பிற்கு கிட்டத்தட்ட ஒரே மாதிரியானவை (பேஸ்புக்கில் பயன்படுத்தப்படும் கம்பைலர்கள் மற்றும் அசெம்பிளி சர்வர்களின் பதிப்புகள் தொடர்பாக மட்டுமே வேறுபாடுகள் உள்ளன).
  • அசெம்பிளி சிஸ்டம் ரிமோட் டாஸ்க் எக்சிகியூஷன் சிஸ்டம்களுடன் ஒருங்கிணைக்கும் வகையில் வடிவமைக்கப்பட்டுள்ளது, இது ரிமோட் சர்வர்களில் வேலை செய்ய உங்களை அனுமதிக்கிறது. ரிமோட் எக்ஸிகியூஷன் API ஆனது Bazel உடன் இணக்கமானது மற்றும் Buildbarn மற்றும் EngFlow உடன் இணக்கத்தன்மைக்காக சோதிக்கப்பட்டது.
  • மெய்நிகர் கோப்பு முறைமைகளுடன் ஒருங்கிணைப்பு வழங்கப்படுகிறது, இதில் முழு களஞ்சியத்தின் உள்ளடக்கங்களும் வழங்கப்படுகின்றன, ஆனால் உண்மையில், களஞ்சியத்தின் ஒரு பகுதியின் தற்போதைய உள்ளூர் துண்டுடன் பணி மேற்கொள்ளப்படுகிறது (டெவலப்பர் முழு களஞ்சியத்தையும் பார்க்கிறார், ஆனால் தேவையான கோப்புகள் மட்டுமே. அணுகப்பட்டவை களஞ்சியத்திலிருந்து பிரித்தெடுக்கப்படுகின்றன). மரக்கன்றுகளில் பயன்படுத்தப்படும் EdenFS மற்றும் Git LFS அடிப்படையிலான VFS ஆதரிக்கப்படுகிறது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்